Condividi tramite


_getc_nolock, _getwc_nolock

Legge un carattere da un flusso senza bloccare.

Sintassi

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

Parametri

stream
Flusso di input.

Valore restituito

Vedere getc, getwc.

Osservazioni:

Queste funzioni sono identiche a getc e getwc ad eccezione del fatto che non bloccano il thread chiamante. Potrebbero essere più veloci perché non comportano il sovraccarico di blocco di altri thread. Utilizzare queste funzioni solo in contesti thread-safe come applicazioni a thread singolo o dove l'ambito chiamante già gestisce l'isolamento del thread.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Mapping di routine di testo generico

Routine Tchar.h _UNICODE e _MBCS non definito _MBCS definito _UNICODE definito
_gettc_nolock getc_nolock getc_nolock getwc_nolock

Requisiti

Ciclo Intestazione obbligatoria
getc_nolock <stdio.h>
getwc_nolock <stdio.h> o <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

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

Input: crt_getc_nolock.txt

Line the first.
Line the second.

Output

Input was: Line the first.

Vedi anche

I/O di flusso
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc