description | title | ms.date | api_name | api_location | api_type | topic_type | f1_keywords | helpviewer_keywords | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: getchar, getwchar | getchar, getwchar | 06/23/2020 |
|
|
|
|
|
|
Reads a character from standard input.
intgetchar(); wint_tgetwchar();
Returns the character read. These functions wait for input and don't return until input is available.
To indicate a read error or end-of-file condition, getchar
returns EOF
, and getwchar
returns WEOF
. For getchar
, use ferror
or feof
to check for an error or for end of file.
Each routine reads a single character from stdin
and increments the associated file pointer to point to the next character. getchar
is the same as _fgetchar
, but it's implemented as a function and as a macro.
These functions also lock the calling thread and are thread-safe. For a non-locking version, see _getchar_nolock
, _getwchar_nolock
.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
TCHAR.H routine | _UNICODE and _MBCS not defined | _MBCS defined | _UNICODE defined |
---|---|---|---|
_gettchar | getchar | getchar | getwchar |
Routine | Required header |
---|---|
getchar | <stdio.h> |
getwchar | <stdio.h> or <wchar.h> |
The console isn't supported in Universal Windows Platform (UWP) apps. The standard stream handles that are associated with the console, stdin
, stdout
, and stderr
, must be redirected before C run-time functions can use them in UWP apps. For more compatibility information, see Compatibility.
// crt_getchar.c// Use getchar to read a line from stdin.#include<stdio.h>intmain() { charbuffer[81]; inti, ch; for (i=0; (i<80) && ((ch=getchar()) !=EOF) && (ch!='\n'); i++) { buffer[i] = (char) ch; } // Terminate string with a null characterbuffer[i] ='\0'; printf( "Input was: %s\n", buffer); }
This textInput was: This text
Stream I/Ogetc
, getwc
fgetc
, fgetwc
_getch
, _getwch
putc
, putwc
ungetc
, ungetwc