Deutsche Lernausgabe
Dateiverarbeitung in C
Öffnen, schreiben, lesen und schließen Sie Dateien mit der Standardbibliothek.

fopen liefert einen Stream oder bei einem Fehler NULL. Der Modus bestimmt Lesen, Anhängen oder Ersetzen; w kann eine vorhandene Datei leeren. Prüfen Sie das Ergebnis vor fprintf, fgets und weiteren Operationen.
Steuern Sie die Schleife über das Ergebnis der Lesefunktion und nicht durch feof vor dem Lesen. fgets kennt die Pufferkapazität und kann lange Zeilen stückweise lesen. Unterscheiden Sie bei Bedarf Dateiende und Fehler.
Schließen Sie mit fclose und prüfen Sie Schreibfehler. Im entfernten Compiler bestehen Dateien möglicherweise nur während eines Laufs: Das ist weder dauerhafter Speicher noch Zugriff auf Ihren Rechner.
Quellcode
#include <stdio.h>
#include <stdlib.h>
int main(void) {
const char *filepath = "/tmp/demo_output.txt";
FILE *fout = fopen(filepath, "w");
if (fout == NULL) {
perror("Error opening file for writing");
return EXIT_FAILURE;
}
fprintf(fout, "Hello from the online C compiler file sandbox!\nLine 2: Ephemeral file storage.\n");
fclose(fout);
FILE *fin = fopen(filepath, "r");
if (fin == NULL) {
perror("Error opening file for reading");
return EXIT_FAILURE;
}
char buffer[256];
printf("--- File Content Readout ---\n");
while (fgets(buffer, sizeof(buffer), fin) != NULL) {
printf("%s", buffer);
}
fclose(fin);
return EXIT_SUCCESS;
}Im Compiler öffnenErwartetes Ergebnis
--- File Content Readout --- Hello from the online C compiler file sandbox! Line 2: Ephemeral file storage.
Häufige Fragen
Warum bleiben Code und manche Ausgaben englisch?
C-Schlüsselwörter, Bezeichner, Programmkommentare und erwartete Ausgaben bleiben wie im Original, damit der Code ausführbar und die Tests konsistent bleiben. Erklärungen und Aufgabenstellungen sind übersetzt.