C-Programmierung

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:

/* read one byte from file */
/* 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:

/* read a formatted text from file */
/* 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.

/* read a text line with max n chars from file (stops at newline) */
/* 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:

/* read a raw data block consisting of one or more equally sized items */
/* 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

Options: