_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