Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at getchar, getwchar.
Reads a character from standard input.
Syntax
int getchar();
wint_t getwchar();
Return Value
Returns the character read. 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.
Remarks
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 is implemented as a function and as a macro.
These functions lock the calling thread and are therefore thread-safe. For a non-locking version, see _getchar_nolock, _getwchar_nolock.
Generic-Text Routine Mappings
TCHAR.H routine | _UNICODE & _MBCS not defined | _MBCS defined | _UNICODE defined |
---|---|---|---|
_gettchar |
getchar |
getchar |
getwchar |
Requirements
Routine | Required header |
---|---|
getchar |
<stdio.h> |
getwchar |
<stdio.h> or <wchar.h> |
The console is not supported in Windows 8.x Store 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 Windows 8.x Store apps. For additional compatibility information, see Compatibility.
Example
// 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
.NET Framework Equivalent
See Also
Stream I/O
getc, getwc
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc