Hallo, kennt jemand von Ihnen vielleicht einen Befehl, um eine neue Zeile einzügen ? Ich würde gerne formatiert in eine .txt schreiben. Das normale reinschreiben kann ich bereits... Danke, der Pedro
Ich schätze mal, du verwendest C, da kannst du Linefeed so erzeugen: '\n' als einzelnes Zeichen (Typ char) oder "blub\n" in einem String. Für Windows könnte auch noch ein Carriage-Return von Nöten sein, das wäre dann entsprechend '\r'.
Hi, ja richtig, ich schreibe in C... aber das \n habe ich schon probiert, das geht leider nicht... ebenso wenig funktioniert das \r :( hier die funktion: //###################################################################### ############# void WriteString2File(char *name, unsigned char *buffer, U16 bufsize) //###################################################################### ############# { unsigned long i; unsigned char result; result=Fopen(name,F_WRITE); if(result==F_OK) { for(i=0; i<1; i++) { if(Fwrite(buffer,bufsize)!=bufsize) result=F_ERROR; if(result==F_ERROR) break; } Fclose(); } }
Fwrite interessiert es herzlich wenig was für Daten im buffer sind. Es frisst keine \n oder \r auf. Ich denke mal bufsize ist bei dir zu klein. Wie bestimmst du bufsize für deinen String ?
0x0A = Linefeed (LF) 0x0D = Carriage return (CR) Die Interpretation von "\n" in sprintf()/fprintf()/printf() ist OS und Library-abhängig. Unter MS-DOS (aka Windows) erzeugt "\n" die Sequenz CR/LF, unter Unix nur CR, unter Mac nur LF (glaube ich), so sind Textdateien jedenfalls unter den jeweiligen OSsen formatiert. Ist immer das Problem, wenn man Textdateien von Unix nach MS-DOS konvertiert, CR/LF muss CR bzw. CR muss CR/LF werden. D.h. unter Unix muss man "\r\n" schreiben, damit es unter MS-DOS passt. Nur CR erzeugt man mit "\r". Wie holger schon schreibt, die Funktion macht keine Interpretation der Escape-Sequenzen, also von Hand die CR/LF in den Buffer schreiben... Der C-Code ist etwas...hmm...strange... warum eine for-Schleife, wenn die eh nur einmal durchlaufen wird?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.