getchar
, getwchar
Legge un carattere dall'input standard.
Sintassi
int getchar();
wint_t getwchar();
Valore restituito
Restituisce il carattere letto. Queste funzioni attendono l'input e non restituiscono finché l'input non è disponibile.
Per indicare una condizione di errore di lettura o di fine file, getchar
restituisce EOF
e getwchar
restituisce WEOF
. Per getchar
, usare ferror
o feof
per controllare se è presente un errore o se viene raggiunta la fine del file.
Osservazioni:
Ogni routine legge un singolo carattere da stdin
e incrementa il puntatore del file associato per puntare al carattere successivo. getchar
è uguale _fgetchar
a , ma viene implementato come funzione e come macro.
Queste funzioni bloccano anche il thread chiamante e sono thread-safe. Per una versione non di blocco, vedere _getchar_nolock
, _getwchar_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
TCHAR.H routine |
_UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_gettchar |
getchar |
getchar |
getwchar |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
getchar |
<stdio.h> |
getwchar |
<stdio.h> oppure <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_getchar.c
// Use getchar to read a line from stdin.
#include <stdio.h>
int main()
{
char buffer[81];
int i, ch;
for (i = 0; (i < 80) && ((ch = getchar()) != EOF)
&& (ch != '\n'); i++)
{
buffer[i] = (char) ch;
}
// Terminate string with a null character
buffer[i] = '\0';
printf( "Input was: %s\n", buffer);
}
This textInput was: This text
Vedi anche
I/O di flusso
getc
, getwc
fgetc
, fgetwc
_getch
, _getwch
putc
, putwc
ungetc
, ungetwc