putchar
, putwchar
Scrive un carattere in un stdout
.
Sintassi
int putchar(
int c
);
wint_t putwchar(
wchar_t c
);
Parametri
c
Carattere da scrivere.
Valore restituito
Restituisce il carattere scritto. Per indicare un errore o una condizione putc
di fine del file e putchar
restituire EOF
; putwc
e putwchar
restituire WEOF
. Per tutte e quattro le routine, utilizzare ferror
o feof
per verificare la presenza di un errore o di una fine del file. Se è stato passato un puntatore Null per stream
, queste funzioni generano un'eccezione di parametro non valida, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, restituiscono EOF
o WEOF
e impostano su EINVAL
errno
.
Per altre informazioni sui codici restituiti, vedere errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Osservazioni:
La routine putc
scrive il carattere singolo c
nell'elemento stream
di output in corrispondenza della posizione corrente. È possibile passare qualsiasi intero a putc
, ma vengono scritti solo gli 8 bit inferiori. La putchar
routine è identica a putc( c, stdout )
. Per ogni routine, se si verifica un errore di lettura, viene impostato l'indicatore di errore per il flusso. putc
e putchar
sono rispettivamente simili a fputc
e _fputchar
, ma vengono implementati sia come funzioni che come macro (vedere Raccomandazioni per la scelta tra funzioni e macro). putwc
e putwchar
sono versioni a caratteri wide di putc
e putchar
rispettivamente.
Le versioni con il _nolock
suffisso sono identiche, ad eccezione del fatto che non sono protette da interferenze da altri thread. Possono 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.
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 |
---|---|---|---|
_puttchar |
putchar |
putchar |
putwchar |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
putchar |
<stdio.h> |
putwchar |
<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_putchar.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;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = putchar( *p );
}
Output
This is the line of output