Compartir a través de


_putc_nolock, _putwc_nolock

Escribe un carácter en una secuencia sin bloqueo.

Sintaxis

int _putc_nolock(
   int c,
   FILE *stream
);
wint_t _putwc_nolock(
   wchar_t c,
   FILE *stream
);

Parámetros

c
Carácter que se va a escribir.

stream
Puntero a la estructura de FILE.

Valor devuelto

Vea putc, putwc.

Comentarios

_putc_nolock y _putwc_nolock son idénticos a las versiones sin el sufijo _nolock, excepto que no están protegidos contra interferencias por otros subprocesos. 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.

_putwc_nolock es la versión de caracteres anchos de _putc_nolock. Las dos funciones se comportan exactamente igual si el flujo se abre en modo ANSI. _putc_nolock no admite actualmente la salida en un flujo UNICODE.

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
_puttc_nolock _putc_nolock _putc_nolock _putwc_nolock

Requisitos

Routine Encabezado necesario
_putc_nolock <stdio.h>
_putwc_nolock <stdio.h> o <wchar.h>

La consola no se admite en las aplicaciones de la Plataforma universal de Windows (UWP). Los identificadores de flujo estándar asociados a la consola, stdin, stdout y stderr, se deben redirigir antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones para UWP. Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Bibliotecas

Todas las versiones de las bibliotecas en tiempo de ejecución de C.

Ejemplo

// crt_putc_nolock.c
/* This program uses putc to write buffer
* to a stream. If an error occurs, the program
* stops before writing the entire buffer.
*/

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char *p, buffer[] = "This is the line of output\n";
   int  ch;

   ch = 0;
   /* Make standard out the stream and write to it. */
   stream = stdout;
   for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
      ch = _putc_nolock( *p, stream );
}

Output

This is the line of output

Consulte también

E/S de secuencia
fputc, fputwc
getc, getwc