getc, getwcgetc, getwc

Lisent un caractère d’un flux.Read a character from a stream.

SyntaxeSyntax

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

ParamètresParameters

streamstream
Flux d’entrée.Input stream.

Valeur de retourReturn Value

Retourne le caractère lu.Returns the character read. Pour indiquer une erreur de lecture ou une condition de fin de fichier, GETC retourne EOFet getwc retourne WEOF.To indicate a read error or end-of-file condition, getc returns EOF, and getwc returns WEOF. Pour GETC, utilisez l’option ferror ou feof pour rechercher une erreur ou la fin du fichier.For getc, use ferror or feof to check for an error or for end of file. Si Stream a la valeur null, GETC et getwc appellent le gestionnaire de paramètres non valides, comme décrit dans validation de paramètre.If stream is NULL, getc and getwc invoke the invalid parameter handler, as described in Parameter Validation. Si l’exécution est autorisée à se poursuivre, ces fonctions retournent EOF (ou WEOF pour getwc) et attribuent à errno la valeur EINVAL.If execution is allowed to continue, these functions return EOF (or WEOF for getwc) and set errno to EINVAL.

Pour plus d’informations sur ces codes d’erreur et les autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, error codes.

NotesRemarks

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 qu’il désigne le caractère suivant.Each routine reads a single character from a file at the current position and increments the associated file pointer (if defined) to point to the next character. Le fichier est associé au flux.The file is associated with stream.

Ces fonctions verrouillent le thread appelant et sont donc thread-safe.These functions lock the calling thread and are therefore thread-safe. Pour une version sans verrouillage, consultez _getc_nolock, _getwc_nolock.For a non-locking version, see _getc_nolock, _getwc_nolock.

Voici une série de notes spécifiques aux routines.Routine-specific remarks follow.

RoutineRoutine NotesRemarks
getcgetc Identique à fgetc, mais implémenté en tant que fonction et en tant que macro.Same as fgetc, but implemented as a function and as a macro.
getwcgetwc Version à caractères larges de GETC.Wide-character version of getc. Lit un caractère multioctet ou un caractère élargi selon que le flux est ouvert en mode texte ou binaire.Reads a multibyte character or a wide character according to whether stream is opened in text mode or binary mode.

Mappages de routines de texte génériqueGeneric-Text Routine Mappings

Routine TCHAR.HTCHAR.H routine _UNICODE et _MBCS non définis_UNICODE & _MBCS not defined _MBCS défini_MBCS defined _UNICODE défini_UNICODE defined
_gettc_gettc getcgetc getcgetc getwcgetwc

Configuration requiseRequirements

RoutineRoutine En-tête requisRequired header
getcgetc <stdio.h><stdio.h>
getwcgetwc <stdio.h> ou <wchar.h><stdio.h> or <wchar.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.For additional compatibility information, see Compatibility.

ExemplesExample

// 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.txtInput: crt_getc.txt

Line one.
Line two.

SortieOutput

Input was: Line one.

Voir aussiSee also

E/S de fluxStream I/O
fgetc, fgetwcfgetc, fgetwc
_getch, _getwch_getch, _getwch
putc, putwcputc, putwc
ungetc, ungetwcungetc, ungetwc