Partager via


_getc_nolock, _getwc_nolock

Lit un caractère dans un flux sans verrouillage.

Syntaxe

int _getc_nolock(
   FILE *stream
);
wint_t _getwc_nolock(
   FILE *stream
);

Paramètres

stream
Flux d’entrée.

Valeur retournée

Consultez getc et getwc.

Notes

Ces fonctions sont identiques à getc et getwc, à ceci près qu’elles ne verrouillent pas le thread appelant. Elles peuvent être plus rapides, car elles n’entraînent pas de surcharge liée au verrouillage des autres threads. Utilisez ces fonctions uniquement dans les contextes thread-safe, tels que les applications à un seul thread ou lorsque la portée appelante gère déjà l'isolation des threads.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappages de routines de texte générique

Routine Tchar.h _UNICODE et _MBCS non définis _MBCS défini _UNICODE défini
_gettc_nolock getc_nolock getc_nolock getwc_nolock

Spécifications

Routine En-tête requis
getc_nolock <stdio.h>
getwc_nolock <stdio.h> ou <wchar.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

// crt_getc_nolock.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_nolock.txt".
    fopen_s(&fp, "crt_getc_nolock.txt", "r");
    if (!fp)
    {
       printf("Failed to open file crt_getc_nolock.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_nolock.txt

Line the first.
Line the second.

Sortie

Input was: Line the first.

Voir aussi

E/S de flux
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc