_fgetchar, _fgetwchar

读取 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 标准兼容。

一般文本例程映射

Tchar.h 实例

未定义的_UNICODE 和_MBCS

定义的_MBCS

定义的_UNICODE

_fgettchar

_fgetchar

_fgetchar

_fgetwchar

要求

功能

必需的标头

_fgetchar

<stdio.h>

_fgetwchar

<stdio.h> 或 <wchar.h>

控件个在 Windows 应用商店 apps 不受支持。 标准流处理与控件个,stdin,stdout和 stderr,在 C 运行时函数在 Windows 应用商店 apps 之前,可以使用它们必须重定向。 有关更多兼容性信息,请参见中介绍的 兼容性

示例

// 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 );
}
     

.NET Framework 等效项

请参见

参考

流I/O

fputc, fputwc

getc, getwc