_putc_nolock
, _putwc_nolock
Scrive un carattere in un flusso senza bloccare.
Sintassi
int _putc_nolock(
int c,
FILE *stream
);
wint_t _putwc_nolock(
wchar_t c,
FILE *stream
);
Parametri
c
Carattere da scrivere.
stream
Puntatore alla struttura FILE
.
Valore restituito
Vedere putc, putwc.
Osservazioni:
_putc_nolock
e _putwc_nolock
sono identici alle versioni senza il _nolock
suffisso, ad eccezione del fatto che non sono protette 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.
_putwc_nolock
è la versione a caratteri wide di _putc_nolock
; se il flusso viene aperto in modalità ANSI, le due funzioni si comportano in modo identico. _putc_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 |
---|---|---|---|
_puttc_nolock |
_putc_nolock |
_putc_nolock |
_putwc_nolock |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_putc_nolock |
<stdio.h> |
_putwc_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à).
Librerie
Tutte le versioni delle librerie di runtime C.
Esempio
// 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