Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
#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);
getc() ist äquivalent zu fgetc(), außer daß es als ein Makro implementiert sein darf, der stream mehr als einmal auswertet.
getchar() ist äquivalent zu getc(stdin).
gets() liest einen Zeile von stdin in der 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.
gets() and fgets() geben s zurück bei Erfolg, und NULL im Fehlerfall oder wenn Dateiende auftritt ohne daß Zeichen gelesen wurden.
ungetc() gibt c zurück bei Erfolg, oder EOF im Fehlerfall.
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.
1. Dezember 1996 | GETS (3) | GNU |
Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.
“ | As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs. | ” |
— Maurice Wilkes |