getchar, getwchar
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