File Read
← File Error | ● | End of File →
Nachdem eine Datei zum Lesen geöffnet wurde, kann auf die darin abgespeicherten Daten zugegriffen werden.
Es gibt drei verschiedene Arten des Zugriffs: zeichenweise, zeilenweise und blockweise.
Zeichenweise:
/* returns EOF at end of file */
int fgetc(FILE *file);
Fallgrube: EOF (end-of-file) ist definiert als −1, daher ist der Rückgabewert von fgetc() int und nicht unsigned char.
Zeilenweise:
/* returns number of read items or EOF */
int fscanf(FILE *file, char *format, ...);
Hinweis: Die Zeichen des Format-Strings müssen mit dem gelesenen Inhalt der Datei übereinstimmen. Das Einlesen wird abgebrochen, wenn kein passendes Zeichen gelesen werden konnte. Der Funktionswert entspricht der Anzahl der bis dahin bearbeiteten Umwandlungszeichen.
/* returns pointer to the string read or NULL at end of file */
/* caution: resulting string includes newline character */
char *fgets(char *s, int n, FILE *stream);
Blockweise:
/* returns number of read items */
int fread(char *buffer, unsigned int size, unsigned int items, FILE *file);
Hinweis: Der Puffer muss mindestens so gross wie der gelesene Binärdatenblock sein. Der Puffer kann z.B. mit malloc(size*items)
angelegt werden.
← File Error | ● | End of File →