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