_fputc_nolock, _fputwc_nolock

Escribe un carácter en una secuencia sin bloqueo.

Sintaxis

int _fputc_nolock(
   int c,
   FILE *stream
);
wint_t _fputwc_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

Cada una de estas funciones devuelve el carácter escrito. Para obtener información sobre errores, vea fputc, fputwc.

Comentarios

_fputc_nolock y _fputwc_nolock son exactamente iguales que fputc y fputwc, respectivamente, salvo que no están protegidas contra interferencias de 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.

Las dos funciones se comportan igual si el flujo se abre en modo ANSI. _fputc_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
_fputtc_nolock _fputc_nolock _fputc_nolock _fputwc_nolock

Requisitos

Función Encabezado necesario
_fputc_nolock <stdio.h>
_fputwc_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.

Ejemplo

// crt_fputc_nolock.c
// This program uses _fputc_nolock
// to send a character array to stdout.

#include <stdio.h>

int main( void )
{
   char strptr1[] = "This is a test of _fputc_nolock!!\n";
   char *p;

   // Print line to stream using fputc.
   p = strptr1;
   while( (*p != '\0') && _fputc_nolock( *(p++), stdout ) != EOF ) ;

}
This is a test of _fputc_nolock!!

Vea también

E/S de secuencia
fgetc, fgetwc
putc, putwc