输入子例程

要表示宽字符代码值以及文件结束符(EOF)标记,wint_t 数据类型是必需的。 例如,考虑 fgetwc 子例程的情况,它返回一个宽字符代码值:

子例程返回值声明 描述
wchar_t fgetwc (); 如果 wchar_t 数据类型定义为 char 值,那么在 ISO8859-1 代码集中,上带两点的 y 符号无法与文件结束(EOF)标记区分开来。 0xFF 代码点是一个有效的字符(y 上加两点)。 因此,返回值就不可能为 wchar_t 数据类型。 这就需要一个既能容纳 EOF 标记,又能容纳代码集中所有代码点的数据类型。
int fgetwc (); 在某些机器上,int 数据类型被定义为 16 位。 当 wchar_t 数据类型大于 16 位时,该 int 值就不能表示全部的返回值。

因此需要 wint_t 数据类型来表示 fgetwc 子例程返回值。 wint_t 数据类型在 wchar.h 文件中定义。

子例程返回值 描述
弗格特韦克 从数据流中获取下一个宽字符。
弗格特夫斯 从数据流中获取一串宽字符。
盖特韦克 从数据流中获取下一个宽字符。
盖特夫恰尔 从标准输入中获取下一个宽字符。
盖特夫斯 从标准输入中获取一串宽字符。
温格特韦克 将一个宽字符压入数据流。