%>
从 stdin
读取一个字符。
语法
int _fgetchar( void );
wint_t _fgetwchar( void );
返回值
_fgetchar 以 int
形式返回读取的字符,或返回 EOF
以指示错误或文件结尾。 _fgetwchar 以 wint_t
形式返回与读取的字符相对应的宽字符,或者返回 WEOF
来指示错误或文件结束。 对于这两个函数,使用 feof
或 ferror
来区分错误和文件结尾条件。
注解
这些函数读取 stdin
中的单个字符。 然后该函数递增关联的文件指针(如果已定义)以指向下一个字符。 如果流位于文件结尾,则设置流的文件结尾指示器。
_fgetchar
等效于 fgetc( stdin )
。 它也等效于 getchar
,但仅作为函数实现,而不是同时作为函数和宏实现。 _fgetwchar
是 _fgetchar
的宽字符版本。
这些函数不符合 ANSI 标准。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
一般文本例程映射
Tchar.h 例程 | _UNICODE 和 _MBCS 未定义 |
_MBCS 已定义 |
_UNICODE 已定义 |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
要求
函数 | 必需的标头 |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<stdio.h> 或 <wchar.h> |
通用 Windows 平台 (UWP) 应用中不支持控制台。 与控制台关联的标准流句柄(stdin
、stdout
和 stderr
)必须重定向,然后 C 运行时函数才能在 UWP 应用中使用它们。 有关兼容性的详细信息,请参阅 兼容性。
示例
// crt_fgetchar.c
// This program uses _fgetchar to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.
//
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char buffer[81];
int i, ch;
// Read in first 80 characters and place them in "buffer":
ch = _fgetchar();
for( i=0; (i < 80 ) && ( feof( stdin ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = _fgetchar();
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
}
Line one.
Line two.Line one.
Line two.
另请参阅
流 I/O
%>
%>