C standard library :: stdio
fgets - Læs en newline-termineret streng fra stream til s begrænset til max. n tegn.
char *fgets (char *s, int n, FILE *stream)
Denne funktion indlæser tegn fra stream indtil n-1 bytes er læst, eller en <newline> er læst eller til end-of-file tilstand. Funktionen overfører tegnene læst til s med strengen termineret med en nul-byte.
[CX] Hvis et tegn blev læst opdateres filens st_atime (access tidsstempel).
Returværdi
Returnerer ved success s. Hvis stream er ved end-of-file vil end-of-file indikator sættes for stream og funktionen returnerer en nul-peger. Hvis en læsefejl opstår vil fejlindikatoren for stream sættes og en nul-peger returneres [CX] og errno sættes til indikation af 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.