Provided by: manpages-de-dev_0.5-2ubuntu1_all bug

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).