C standard library :: stdio
fgetc
int fgetc (FILE *stream)
Denne funktion læser det næste tegn fra input stream og flytter filpositionen til næste tegn. Hvis end-of-file indikatoren ikke er sat og den næste byte er tilgængelig vil funktionen hente den næste byte som unsigned char og konvertere den til int. Fordi funktionen opererer med bytes vil en multi-byte char kræve flere kald til funktionen.
[CX] Hvis et tegn blev læst opdateres filens st_atime (access tidsstempel).
Returværdi
Returnerer tegnet konverteret til int fra bytes som læses som unsigned char. Hvis funktionen forsøger at læse udover enden af filen eller der opstår en filfejl returneres EOF, [CX] og errno sættes med årsag til fejlen.
Fejl
Funktionen vil fejles hvis data behøver at læses og:
- [EAGAIN]
- [CX] O_NONBLOCK flages er sat for file descriptor bagom stream og tråden holdes tilbage i fgetc() operationen.
- [EBADF]
- [CX] File descriptor bagom stream er ikke en valid file descriptor åben for læsning.
- [EINTR]
- [CX] Læse operationen blev afbrudt af modtagelsen af et signal og ingen data blev overført.
- [EIO]
- [CX] En fysisk I/O fejl opstod, eller processen er et medlem af en baggrunds processgruppe der forsøger at skrive til den kontrollerende terminal, TOSTOP er sat, processen hverken ignorerer eller blokerer ikke SIGTTOU, og processgruppen er uden parent process. Fejlen kan også returneres af system specikikke implementeringer
- [EOVERFLOW]
- [CX] Filen er en almindelig fil og et forsøg på at læse udover offset maksimum på denne stream.