Nous recommandons d’utiliser Visual Studio 2017

_getc_nolock, _getwc_nolock

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Lit un caractère dans un flux de données.

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

Paramètres

stream
Flux d’entrée.

Consultez la page getc, getwc.

Ces fonctions sont identiques aux getc et getwc , sauf qu’elles ne verrouillent pas le thread appelant. Elles peuvent être plus rapides, car elles n'entraînent pas la charge du 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.

Mappages de routines de texte générique

Routine Tchar.h_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_gettc_nolockgetc_nolockgetc_nolockgetwc_nolock
RoutineEn-tête requis
getc_nolock<stdio.h>
getwc_nolock<stdio.h> ou <wchar.h>

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

// 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);  
}  

Line the first.  
Line the second.  

Sortie

Input was: Line the first.  

Flux d’e/s
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc

Afficher: