_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