Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       fgetc, fgets, getc, getchar, ungetc - Eingabe von Zeichen und Strings

       Diese  Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
       die englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 3 gets

       eingeben.

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