_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, stdoute stderrdevono 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

Vedi anche

I/O di flusso
fputc, fputwc
getc, getwc