Provided by:
manpages-de-dev_0.5-2ubuntu1_all 
BEZEICHNUNG
fgetc, fgets, getc, getchar, ungetc - Eingabe von Zeichen und Strings
ÜBERSICHT
#include <stdio.h>
int fgetc(FILE *stream);
char *fgets(char *s, int size, FILE *stream);
int getc(FILE *stream);
int getchar(void);
char *gets(char *s);
int ungetc(int c, FILE *stream);
BESCHREIBUNG
fgetc() liest das nächste Zeichen von stream und gibt es als ein
unsigned char gecastet in einem int zurück, oder EOF bei Dateiende oder
Fehler.
getc() ist äquivalent zu fgetc(), außer dass es als ein Makro
implementiert sein darf, der stream mehr als einmal auswertet.
getchar() ist äquivalent zu getc(stdin).
gets() liest eine Zeile von stdin in den Puffer, auf den s zeigt, bis
entweder ein abschließender Zeilenvorschub oder EOF auftritt, welche
durch â€â€™\0â€â€™ ersetzt werden. Es wird keine Prüfung auf Pufferüberlauf
durchgeführt (siehe BUGS unten).
fgets() liest höchstens size minus ein Zeichen von stream und speichert
sie in dem Puffer, auf den s zeigt. Das Lesen stoppt nach einem EOF
oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in
dem Puffer gespeichert. Ein â€â€™\0â€â€™ wird nach dem letzten Zeichen im
Puffer gespeichert.
ungetc() schiebt c zurück zu stream, gecasted in einem unsigned char,
wenn es für folgende Leseoperationen möglich ist. Zurückgeschobene
Zeichen werden in umgekehrter Reihenfolge zurückgegeben; nur ein
Zurückschieben wird unterstützt.
Aufrufe der hier beschriebenen Funktionen können für den selben
Eingabestream untereinander und mit anderen Eingabefunktionen der
Bibliothek stdio gemischt werden.
RÜCKGABEWERTE
fgetc(), getc() und getchar() geben das gelesene Zeichen als ein
unsigned char gecastet in einem int zurück, oder EOF bei Dateiende oder
Fehler.
gets() und fgets() geben s zurück bei Erfolg, und NULL im Fehlerfall
oder wenn Dateiende auftritt ohne dass Zeichen gelesen wurden.
ungetc() gibt c zurück bei Erfolg, oder EOF im Fehlerfall.
KONFORM ZU
ANSI - C, POSIX.1
BUGS
Da es unmöglich ist, zu sagen, wie viele Zeichen gets() lesen wird,
ohne die Daten vorher zu kennen, und da gets() fortfährt und Daten über
das Ende des Puffers hinaus speichert, ist es sehr gefährlich, diese
Funktion zu benutzen. Sie wurde benutzt, um in Rechner einzubrechen.
Benutze fgets() stattdessen.
Es ist nicht ratsam, Aufrufe von Funktionen der Bibliothek stdio mit
low-level-Aufrufen von read() für den Dateideskriptor zu mischen, der
mit demselben Eingabestream verbunden ist; die Ergebnisse sind
undefiniert und sehr wahrscheinlich nicht erwünscht.
SIEHE AUCH
read(2), write(2), fopen(3), fread(3), scanf(3), puts(3), fseek(3),
ferror(3).