CString.Replace "spinnt"
-
Hi Leute!
Habe folgendes kleine Problem:
Ich lese aus einer Datei eine Zeile aus in einen CString. In der Datei sind allerdings alle Lehrzeichen durch ein beliebiges Sonderzeichen (hier: ~) ersetzt. um nun mit dem CString weiterarbeiten zu können, müssen die Lehrzeichen wieder her. Dazu sollte es ja diese funktion geben:CString.Replace()
aber die tut nicht was ich will. Also eigentlich tut sie gar nichts, sie ersetzt die '~' nicht durch ' '...:(
Woran kann das liegen?!?!?
Hier ein kleiner Code-Ausschnitt:
fscanf(Datei, "%s", strString); strString.Replace('~', ' '); m_strAusgabe = strString;
Danke für jede Anmerkung!
Greets
mbP.S.: Ich hatte das selbe problem schonmal, vor etwa nem Jahr, aba ich kann mich wirklich nicht mehr erinnern, wie es damals gelöst wurde..:(
-
Nur mal am Rand. Wozu fscanf?
Wieso vermischt du C mit C++.
-
Nur mal am Rand. Dein Code funktioniert.
Wenn sich bei dir nix tut, fehlt wahrscheinlich ein UpdateData(TRUE) (oder FALSE) oder sonstwas.
-
Was sollte ich dann nehmen??
Habe schon "fgets()" und "cin" verushct, beide Male mit dem Erfolg, dass ich ned in CStrings schreiben kann...:(
Daher habe ich mich dann irgendwann dazu durchgerungen "Fscanf()" zu verwenden, auch wenns wirklich ned schön is...:(und mit getline() bin ich irgendwie auch ned ganz zurecht gekommen...da wars auch irgendwie so n Problem, k.a.
Was würdest Du denn so vorschlagen??
Greets
mb
-
isabeau schrieb:
Nur mal am Rand. Dein Code funktioniert.
Wenn sich bei dir nix tut, fehlt wahrscheinlich ein UpdateData(TRUE) (oder FALSE) oder sonstwas.UpdateData(FALSE) is am Ende vorhanden. Aber weder inner Programmausf+ührung, noch im Debugger ersetzt er bei mir die '~' und das ärgert mich ganz minimal.
Ich meine...wenns "Updatedata(FALSE)" fehlen würde, würde er mir ja dei falsche Ausgabe auch ned ausgeben, oda??Seltsam nur, dass es bei Dir funzt...*verwirrt*
Greets
mb
-
Hast dir auch schon CStdioFile angesehen? Das nehme ich gerne, weil es so schön einfach ist.
Wenn es selbst beim Debuggen nicht klappt, dann würde mich interessieren, welche VC Versionen ihr jeweils nutzt. Vielleicht ist da ja ein Unterschied?
-
estartu_de schrieb:
Hast dir auch schon CStdioFile angesehen? Das nehme ich gerne, weil es so schön einfach ist.
Also das werde ich mir ma anschaun...schonma danke...werde dann hier mein feedback einbringen.
Ich persönlich habe arbeite noch mit VC 6.0...
Greets
mb
-
VC6 welcher Service Pack? Es geht hoch bis 6.
Neulich hatte auch einer einen komischen nicht auffindbaren Fehler und nach einem Update war er weg.
-
Hi nochmal!
Also so weit ich weiss nur SP5...
Habe nun des mit dem CStdioFile probiert und siehe da es funktioniert...jetzt muss ich auch die Leerzeichen nimma umkonvertieren sondern kanns gleich mit inne Datei schreiben...*freu*
Also der Tipp war echt gut, danke! Und simpel isses wirklich!
Aber interessieren würds mich trotzzdem, warum des CString.Replace ned funktioniert...*grübel*
Danke schonmal & Greets
mb