Ich habe ein Programm (Konsole), wo ich den ganzen Text in eine separate .txt-Datei.C: Wie füge ich einen Zeilenumbruch von einer Datei ein?
Ich benutze fgets()
eine Zeichenfolge aus der Datei zu lesen, aber wenn die Datei ein \ n enthält und ich die Zeichenfolge später drucken, druckt es \ n anstelle eines Zeilenumbrüche
Hier ein Beispiel:
FILE* fic = NULL;
char str[22]; //str is the string we will use
//open the file
fic = fopen ("text.txt", "r");
//read from the file
fgets(str, size, fic);
printf(str);
Wenn das ist, was ich in meinem text.txt haben:
This is \n an example
Doch was auf der Konsole kommt aus ist
This is \n an example
Statt
This is
an example
Edit: in der Datei als \ n geschrieben. Ich habe auch versucht addint \ oder \ t in der Datei, aber es würde drucken \ und \ t anstelle einem tabellarischen oder ein einzelnen Backslash
Gibt es 2 Zeichen ("\" und "n") oder 1 Zeichen ("\ n") in der Datei? – mch
in der Datei geschrieben als \ n Ich probierte auch addint \\ oder \ t in der Datei, aber es würde \\ und \ t anstelle einer Tabellierung oder eines einzelnen Schrägstrichs – Speedphoenix
'\ n'' ** drucken ** Der Zeilenumbruch/Zeilenumbruch. Ich sehe überhaupt kein Problem. ** Niemals ** eine Zeichenkette von externer Quelle als 'printf'-Formatzeichenfolge verwenden! Das ist eine der typischsten Sicherheitslücken in C. – Olaf