_getc_nolock
, _getwc_nolock
Lee un carácter de una secuencia sin bloquear.
Sintaxis
int _getc_nolock(
FILE *stream
);
wint_t _getwc_nolock(
FILE *stream
);
Parámetros
stream
Flujo de entrada.
Valor devuelto
Consulte getc
, getwc
.
Comentarios
Estas funciones son idénticas a getc
y getwc
, salvo que no bloquean el subproceso de llamada. Pueden ser más rápidos porque no incurren en la sobrecarga de bloquear otros subprocesos. Use estas funciones solo en contextos seguros para subprocesos como aplicaciones de un único subproceso o donde el ámbito de llamada ya controle el aislamiento de subprocesos.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Asignaciones de rutinas de texto genérico
Rutina Tchar.h | _UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_gettc_nolock |
getc_nolock |
getc_nolock |
getwc_nolock |
Requisitos
Routine | Encabezado necesario |
---|---|
getc_nolock |
<stdio.h> |
getwc_nolock |
<stdio.h> o <wchar.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
// 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);
}
Entrada: crt_getc_nolock.txt
Line the first.
Line the second.
Output
Input was: Line the first.
Consulte también
E/S de secuencia
fgetc
, fgetwc
_getch
, _getwch
putc
, putwc
ungetc
, ungetwc