_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