Hallo,
hab ein kleines Problem.
Wenn ich einen QString anlege mit QString ("Zeile1\nZeile2");
wird das Linefeed berücksichtigt.
Wenn ich aber den Text von woanders lese und dort auch das \n vorhanden ist. Wird der Zeilenumbruch nicht interpretiert.
Wer kann mir helfen ?
Gruß
Noob
Problem mit Linefeed bei Zuweisung von Text
-
QtNoob2008
- Beiträge: 54
- Registriert: 10. April 2008 08:27
-
androphinx
- Beiträge: 170
- Registriert: 26. Januar 2009 09:19
- Wohnort: 127.0.0.2
Das ist eine Compilersache... wenn du in C-Code "\n" schreibst, werden da nicht zwei Bytes eingefuegt, sondern nur eines (0x0A). Wenn du genau diesen String dynamisch einliest (z.B. aus einer Textdatei, oder Netzwerk oder sonst woher) bekommst du zwei Bytes (0x5C + 0x6E, '\' und 'n').
Oder anderst ausgedrückt: die eingelesenen Rohdaten müssen natürlich einen "echten" Zeilenvorschub (0x0A) haben oder _du_ musst die Interpretation machen (Replace von "\\n" durch "\n")
Oder anderst ausgedrückt: die eingelesenen Rohdaten müssen natürlich einen "echten" Zeilenvorschub (0x0A) haben oder _du_ musst die Interpretation machen (Replace von "\\n" durch "\n")
-
QtNoob2008
- Beiträge: 54
- Registriert: 10. April 2008 08:27
Hallo,
sorry dass ich mich erst jetzt melde, bin erst jetzt dazu gekommen zu antworten. Vielen Dank für deine sehr gute Erklärung!
Kurz nachdem ich die Frage gestellt hatte, hab ich auch schon selbst die Lösung gefunden. Hinter dem "\n" steckt ja ein "nicht darstellbares" ASCII Zeichen. Hatte gedacht dass es beim Einlesen direkt berücksichtigt werden würde. Hab dann in einer .ts Datei (Übersetzungsdatei) geschaut und dort wird eben ein richtiger Zeilenvorschub abgespeichert.... Hab es genauso wie du es beschrieben hast durch ein replace gelöst.
Trotzdem Danke !!!
Gruß QtNoob2008
sorry dass ich mich erst jetzt melde, bin erst jetzt dazu gekommen zu antworten. Vielen Dank für deine sehr gute Erklärung!
Kurz nachdem ich die Frage gestellt hatte, hab ich auch schon selbst die Lösung gefunden. Hinter dem "\n" steckt ja ein "nicht darstellbares" ASCII Zeichen. Hatte gedacht dass es beim Einlesen direkt berücksichtigt werden würde. Hab dann in einer .ts Datei (Übersetzungsdatei) geschaut und dort wird eben ein richtiger Zeilenvorschub abgespeichert.... Hab es genauso wie du es beschrieben hast durch ein replace gelöst.
Trotzdem Danke !!!
Gruß QtNoob2008