wie kann ich line feed (lf) in einer Datei schreiben
-
? was machst du?
Ich hab das mit CFile gemacht und ich habe NUR das "\n" in der Datei, sehe ich in UltraEdit, und wenn ich das mit dem Editor anschaue habe ich auch keinen Zeilenumruch, weil halt das "\r" nicht mit dabei ist ...
-
file.Open(path,CFile::modeCreate | CFile::modeWrite)
So öffne ich und das klappt. Kann es evtl an deinen Ausgangsdaten liegen, welche du schreíben willst?
-
CStdioFile File;
if(File.Open("c:\\test.txt",CFile::modeCreate|CFile::modeWrite))
{
File.SeekToEnd();
File.WriteString("eintext\n");
File.WriteString("nocheintext");
File.Close();
}Mit Ultraedit
eintext
nocheintext
65 69 6E 74 65 78 74 0D 0A 6E 6F 63 68 65 69 6E 74 65 78 74wie du siehst liefert 0A 0D trotzdem.
-
du musst die datei BINAER oeffnen!
-
Wie öffne ich die Datei Binaer
-
hab ich dir in meinem letzten post gezeigt.
wenn du dir die muehe gemacht haettest...
-
Hast du die Datei ins DOS-Format konvertieren lassen von Ultra-Edit?
Weil wenn ja, dann fügt der Editor das \r hinzu.Öffne die Datei mal im Standardeditor und schalte den Zeilenumbruch aus. Wenn jetzt alles in einer Zeile steht, dann ist nur das \n da
-
Ich habe die Datei nochmal in standard editor geöffnet und zeilenumbruch ausgeschaltet...leider blieb 2 Zeilen und nicht in einer Zeile.
c.rackwitz schrieb-->
hab ich dir in meinem letzten post gezeigt.
wenn du dir die muehe gemacht haettest...ich bekomme nicht dein quellcode mit.
-
nimm mal CFile anstatt CStdioFile
-
ooh..
ich habe die Datei mit Ultraedit konvertiert von dos in unix dann wieder nicht in dos modegeöffnet und es hat geklappt habe ioch jetzt nur 0A.
Eine Frage noch wenn meine Datei, die ich mit MFC erzeugt habe ,direkt an unix empfänger ohne konvertierung von meiner Seite schicke, sieht er dann nur 0A oder ?
-
MSDN schrieb:
One access permission and a text-binary specifier are required;
und
MSDN schrieb:
Stream files are buffered and can be opened in either text mode (the default) or binary mode.
Da du diesen Flag nicht angibts, vermute ich mal, die KLasse arbeitet im Textmodus, und daher kommt das \r. Also entweder explizit den Binary-Mode angeben oder gleich nur mit CFile arbeiten
-
Hi,
Du hast recht .....
Ich habe es mit CFile . und war genau was ich brauchte.
Ich schaffe immer mit ofstream und heute habe ich was neues gelernt.
Vielen Dank für die Hilfe.
Zitat von mir:
Ich freue mich
-
CStdioFile::WriteString()
fügt immer Zeilenweise einen String hinzu, also kein wunder das du /n/r drin stehen hattest
-
danke