putc
, putwc
Scrive un carattere in un flusso.
Sintassi
int putc(
int c,
FILE *stream
);
wint_t putwc(
wchar_t c,
FILE *stream
);
Parametri
c
Carattere da scrivere.
stream
Puntatore alla struttura FILE
.
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
, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni restituiscono EOF
o e impostano su errno
EINVAL
.WEOF
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. putwc
e putc
si comportano in modo analogo, se il flusso viene aperto in modalità ANSI. putc
non supporta attualmente l'output in un flusso UNICODE.
Le versioni con il _nolock
suffisso sono identiche, ad eccezione del fatto che non sono protette da interferenze da altri thread. Per altre informazioni, vedere _putc_nolock, _putwc_nolock.
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 |
putc |
putc |
putwc |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
putc |
<stdio.h> |
putwc |
<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.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( *p, stream );
}
Output
This is the line of output