_fputc_nolock, _fputwc_nolock
Escribe un carácter en un flujo sin bloquear el subproceso.
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ápidas 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 a un flujo UNICODE.
Asignaciones de rutina 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 Tienda Windows. Se deben redirigir los identificadores estándar de flujo que están asociados a la consola, stdin, stdout y stderr, antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones de Tienda Windows. Para obtener más información sobre compatibilidad, vea 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 ) ;
}