_fputc_nolock
, _fputwc_nolock
Scrive un carattere in un flusso senza bloccare.
Sintassi
int _fputc_nolock(
int c,
FILE *stream
);
wint_t _fputwc_nolock(
wchar_t c,
FILE *stream
);
Parametri
c
Carattere da scrivere.
stream
Puntatore alla struttura FILE
.
Valore restituito
Ognuna di queste funzioni restituisce il carattere scritto. Per informazioni sull'errore, vedere fputc
, fputwc
.
Osservazioni:
_fputc_nolock
e _fputwc_nolock
sono rispettivamente identici a fputc
e fputwc
, ad eccezione del fatto che non sono protetti da interferenze da altri thread. Potrebbero essere più veloci perché non comportano il sovraccarico di blocco di altri thread. Utilizzare queste funzioni solo in contesti thread-safe come applicazioni a thread singolo o dove l'ambito chiamante già gestisce l'isolamento del thread.
Le due funzioni si comportano in modo identico se il flusso viene aperto in modalità ANSI. _fputc_nolock
non supporta attualmente l'output in un flusso UNICODE.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di routine di testo generico
Routine Tchar.h | _UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_fputtc_nolock |
_fputc_nolock |
_fputc_nolock |
_fputwc_nolock |
Requisiti
Funzione | Intestazione obbligatoria |
---|---|
_fputc_nolock |
<stdio.h> |
_fputwc_nolock |
<stdio.h> o <wchar.h> |
La console non è supportata nelle app piattaforma UWP (Universal Windows Platform) (UWP). Gli handle di flusso standard associati alla console,stdin
stdout
e stderr
, devono essere reindirizzati prima che le funzioni di runtime C possano usarle nelle app UWP. Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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!!