Partager via


getc, getwc

Lit un caractère à partir d'un flux de données.

int getc( 
   FILE *stream 
);
wint_t getwc( 
   FILE *stream 
);

Paramètres

  • stream
    Flux d'entrée.

Valeur de retour

Retourne le caractère lu. Pour indiquer une erreur de lecture ou une condition fin de fichier, getc retourne EOF, et getwc retourne WEOF. Pour getc, utilisez ferror ou feof afin de repérer d'éventuelles erreurs ou la fin du fichier. Si stream est NULL, getc et getwc fait appel à un gestionnaire de paramètres invalides, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent EOF (or WEOF forgetwc) et définissent errno avec la valeur EINVAL.

Consultez _doserrno, errno, _sys_errlist et _sys_nerr pour plus d'informations sur ces éléments et autres codes d'erreur.

Notes

Chaque routine lit un caractère à partir d'un fichier à la position actuelle et incrémente le pointeur de fichier associé (si défini) pour indiquer le caractère suivant. Le fichier est associé à cet élément stream.

Ces fonctions verrouillent le thread appelant et sont donc thread-safe. Pour une version non verrouillante, consultez _getc_nolock, _getwc_nolock.

Les remarques concernant les routines sont indiquées dans la suite.

Routine

Remarques

getc

Identique à fgetc, mais implémenté en tant qu'une fonction et sa macro.

getwc

Version à caractères larges de getc. Lit un caractère multioctet ou un caractère large selon la manière dont stream est ouvert dans le mode texte ou binaire.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_gettc

getc

getc

getwc

Configuration requise

Routine

En-tête requis

getc

<stdio.h>

getwc

<stdio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Exemple

// crt_getc.c
// Use getc to read a line from a file.

#include <stdio.h>

int main()
{
    char buffer[81];
    int i, ch;
    FILE* fp;
    
    // Read a single line from the file "crt_getc.txt". 

    fopen_s(&fp, "crt_getc.txt", "r");
    if (!fp)
    {
       printf("Failed to open file crt_getc.txt.\n");
       exit(1);
    }

    for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }
       
    // Terminate string with a null character 
    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);

    fclose(fp);
}

Entrée: crt_getc.txt

Line one.
Line two.

Sortie

Input was: Line one.

Équivalent .NET Framework

Voir aussi

Référence

E/S de flux

fgetc, fgetwc

_getch, _getwch

putc, putwc

ungetc, ungetwc