Leerzeilen aus CString entfernen?
-
Hallo zusammen,
ich möchte aus einem großen CString, den ich in eine Datei schreiben möchte
zuvor gerne alle Leerzeilen entfernen. Ich habe da zunächst an Remove('\n')
gedacht, aber das zerstört mir dann auch die Umbrüche im normalen Textfluss.Muss ich zwingend nochmal den schon im Speicher befindlichen CString neu
zeilenweise einlesen um jede Zeile darauf zu prüfen, ob sie leer istVielleicht denke ich auch viel zu kompliziert.
-
In einem CString gibts ja keine Leerzeilen im eigentlichen Sinne. ist ja nur eine Aneinanderreihung von Zeichen. Wie sieht denn dein CString jetzt aus und wie willst du, dass er aussieht?
-
Leerzeilen sind direkt aufeinanderfolgende Zeilenumbrüche. Ersetz mehrfache Zeilenumbrüche durch einfache.
-
Also mein CString sieht in etwa so aus:
Max Muster
12345
StatischerText123
Waldweg 15Ich lasse dann ein Replace drüber gehen:
meinString.Replace("StatischerText123","");Dann ist die Zeile leer, soll aber eigentlich gar nicht mehr vorhanden sein:
Max Muster
12345Waldweg 15
Bei .Remove habe ich gesehen, kann man offenbar nur einen character entfernen?!
-
Wie schon MFK geschrieben hat, solltest du einfach zwei aufeinander folgende Zeileumbrüche durch einen ersetzen.
AlsoReplace(_T("\n\n"), _T("\n"))
-
Wenn du sowieso schon den Inhalt einer Zeile löschst, kannst du das anschließende '\n' ja gleich in derselben Anweisung mit löschen.
-
_matze schrieb:
Wenn du sowieso schon den Inhalt einer Zeile löschst, kannst du das anschließende '\n' ja gleich in derselben Anweisung mit löschen.
Habe es genau so gelöst