Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Newline mit CFile

Danni_KA / 6 Antworten / Baumansicht Nickles

kleines Prob mit MFC: habe ein Programm, welches eine Textdatei erstellt und möchte da auch was reinschreiben. Z.B.: myFile.Write("MP\tPR\tHA\t\LN\tKN\tZN\tZL\tRelais\n\r", 39); Leider bekomme ich es nicht mit dem Newline hin. Es schreibt im Dokument immer in die Selbe Zeile -was mach cih falsch? Danke für eure Antwort!

bei Antwort benachrichtigen
d-oli Danni_KA „Newline mit CFile“
Optionen

Hi

Hmmm ...
Öffne die Datei mal mit WordPad anstelle von Notepad (Editor), oder öffne sie mit Notepad (Editor) und klicke dann auf Format->Zeilenumbruch.
Problem immer noch vorhanden?

Gruss, d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
Borlander d-oli „Hi Hmmm ... Öffne die Datei mal mit WordPad anstelle von Notepad Editor , oder...“
Optionen

Davon kommen die Zeilenumbrüche auch nicht in die Datei, die zu langen Zeilen werden nur am rechten Fensterrand umberochen. Echte Zeilenumbrüche (mit Wagenrücklauf!) werden immer als solche angezeigt...

bei Antwort benachrichtigen
d-oli Borlander „Davon kommen die Zeilenumbrüche auch nicht in die Datei, die zu langen Zeilen...“
Optionen

Ok – aber das mit WordPad funktioniert tatsächlich. Wieso ist das so? Wird sein Problem gelöst in dem er "\a" (Carriage return) verwendet anstelle von "\n" (New line)?

Dieses Problem scheint nur mit bei Windows aufzutreten. Erzeuge ich mit einem C-Programm unter Linux einen Text-Datei mit "New line", kann ich die mit jedem x beliebigen Editor offnen und "New line" wird als neue Zeile interpretiert. Kopiere ich diese Datei auf ein Windowssystem brauche ich z.B. Word oder WordPad um "New line" als neue Zeile interpretiert zu kriegen. Er scheint dasselbe Problem zu haben mit MFC erzeugten Textdateien. Woran liegt das?

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
d-oli Nachtrag zu: „Ok aber das mit WordPad funktioniert tatsächlich. Wieso ist das so? Wird sein...“
Optionen

Ups - natürlich "\r" (Carriage return) nicht "\a" ...;-)

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
mr.escape d-oli „Ok aber das mit WordPad funktioniert tatsächlich. Wieso ist das so? Wird sein...“
Optionen

Wordpad geht hin und macht eigenmächtig aus LF(unix standard ascii 10) CRLF(win standard ascii 13,10). Ob das auch mit dem MAC standard CR (ascii 13) funktioniert habe ich noch nicht probiert, da ich bisher noch nie plaintext von einem MAC bekam oder gar editieren musste.

mr.escape

Carriage Return="CR"='\r'=ascii-13
Line Feed="LF"='\n'=ascii-10

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
mr.escape Danni_KA „Newline mit CFile“
Optionen

Versuch's doch mal mit "\r\n" statt "\n\r", soll wunder wirken.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen