mueslirocker
Mitglied
Hallo,
ich benutze cygwin und damit den GNU Compiler gcc bzw g++.
Ich habe Probleme mit Zeilenumbrüchen.
Einerseits lasse ich mir von einem Fremdprogramm einen String (*char) ausgeben, der (wurde mir hoch und heilig versprochen) CR LF als Zeilenumbruch verwendet.
Wenn ich diesen String Zeichen für Zeichen durchgehe und mit alle '\r' und '\n' ausgeben lasse (um sicher zu gehen, lasse ich mir die Strings "<CR>" und "<LF>" ausgeben) finde ich nur carriage-return's.
Kann es sein, dass C(++) CRLF irgendwie als einzelnes Zeichen interpretiert? Ich hätte aber gedacht, dass es - wenn es denn so ist - dann ein Line-Feed wird.
Zweite Seite:
Ich hole mir den gleichen String (mit fgets) aus einer Datei.
Wenn ich die Datei im Hex-Editor anschaue, ist dort CR LF als Zeilenumbruch.
Wenn ich den String dann untersuche, finde ich nur LF's.
Allerdings kommt mir das \n von C merkwürdig vor.
Wenn ich ein \n in eine Datei schreibe und die mit einem Hex-Editoröffne, finde ich dort auch ein carriage-return (also CR LF).
Wenn ich aber in einem String (mitten drin) ein \n setze und in dem String auch \r's sind, und den dann speichere, wird das \n auch nur als LF gespeichert.
Kann mir jemand sagen, wie C(++) \n \r bzw CR und LF handhabt?
Ich habe auch im Netz keine eindeutigen Aussagen darüber finden.
ich benutze cygwin und damit den GNU Compiler gcc bzw g++.
Ich habe Probleme mit Zeilenumbrüchen.
Einerseits lasse ich mir von einem Fremdprogramm einen String (*char) ausgeben, der (wurde mir hoch und heilig versprochen) CR LF als Zeilenumbruch verwendet.
Wenn ich diesen String Zeichen für Zeichen durchgehe und mit alle '\r' und '\n' ausgeben lasse (um sicher zu gehen, lasse ich mir die Strings "<CR>" und "<LF>" ausgeben) finde ich nur carriage-return's.
Kann es sein, dass C(++) CRLF irgendwie als einzelnes Zeichen interpretiert? Ich hätte aber gedacht, dass es - wenn es denn so ist - dann ein Line-Feed wird.
Zweite Seite:
Ich hole mir den gleichen String (mit fgets) aus einer Datei.
Wenn ich die Datei im Hex-Editor anschaue, ist dort CR LF als Zeilenumbruch.
Wenn ich den String dann untersuche, finde ich nur LF's.
Allerdings kommt mir das \n von C merkwürdig vor.
Wenn ich ein \n in eine Datei schreibe und die mit einem Hex-Editoröffne, finde ich dort auch ein carriage-return (also CR LF).
Wenn ich aber in einem String (mitten drin) ein \n setze und in dem String auch \r's sind, und den dann speichere, wird das \n auch nur als LF gespeichert.
Kann mir jemand sagen, wie C(++) \n \r bzw CR und LF handhabt?
Ich habe auch im Netz keine eindeutigen Aussagen darüber finden.
