Namespaces
Variants

fgetc, getc

From cppreference.net
< c ‎ | io
Défini dans l'en-tête <stdio.h>
int fgetc ( FILE * stream ) ;
(1)
int getc ( FILE * stream ) ;
(2)
1) Lit le caractère suivant à partir du flux d'entrée donné.
2) Identique à 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