fgetc, getc
|
Défini dans l'en-tête
<stdio.h>
|
||
|
int
fgetc
(
FILE
*
stream
)
;
|
(1) | |
|
int
getc
(
FILE
*
stream
)
;
|
(2) | |
fgetc
, sauf que si
getc
est implémenté comme une macro, il peut évaluer le flux plusieurs fois, donc l'argument correspondant ne devrait jamais être une expression avec des effets secondaires.
Table des matières |
Paramètres
| stream | - | pour lire le caractère depuis |
Valeur de retour
En cas de succès, retourne le caractère obtenu sous forme d'un unsigned char converti en un int . En cas d'échec, retourne EOF .
Si l'échec a été causé par une condition de fin de fichier, positionne également l'indicateur eof (voir feof() ) sur stream . Si l'échec a été causé par une autre erreur, positionne l'indicateur error (voir ferror() ) sur stream .
Exemple
#include <stdio.h> #include <stdlib.h> int main(void) { const char* fname = "/tmp/unique_name.txt"; // or tmpnam(NULL); int is_ok = EXIT_FAILURE; FILE* fp = fopen(fname, "w+"); if (!fp) { perror("File opening failed"); return is_ok; } fputs("Hello, world!\n", fp); rewind(fp); int c; // note: int, not char, required to handle EOF while ((c = fgetc(fp)) != EOF) // standard C I/O file reading loop putchar(c); if (ferror(fp)) puts("I/O error when reading"); else if (feof(fp)) { puts("End of file is reached successfully"); is_ok = EXIT_SUCCESS; } fclose(fp); remove(fname); return is_ok; }
Sortie possible :
Hello, world! End of file is reached successfully
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.21.7.1 La fonction fgetc (p: TBD)
-
- 7.21.7.5 La fonction getc (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.21.7.1 La fonction fgetc (p : 240-241)
-
- 7.21.7.5 La fonction getc (p : 242)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.21.7.1 La fonction fgetc (p: 330)
-
- 7.21.7.5 La fonction getc (p: 332)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.19.7.1 La fonction fgetc (p : 296)
-
- 7.19.7.5 La fonction getc (p : 297-298)
- Norme C89/C90 (ISO/CEI 9899:1990) :
-
- 4.9.7.1 La fonction fgetc
-
- 4.9.7.5 La fonction getc
Voir aussi
|
lit un caractère depuis
stdin
(fonction) |
|
|
(supprimé en C11)
(C11)
|
lit une chaîne de caractères depuis
stdin
(fonction) |
|
écrit un caractère dans un flux de fichier
(fonction) |
|
|
remet un caractère dans un flux de fichier
(fonction) |
|
|
Documentation C++
pour
fgetc
,
getc
|
|