<wctype.h>
-- 宏
阅读:0
作者:严长生
WEOF 宽字符版的文件结束标志
WEOF 是“Wide End of File”的缩写,意思是宽字符版的文件结束符;WEOF 是 EOF 的宽字符版本。
WEOF 是一个宏,它展开后是一个
<wctype.h> 头文件中包含了很多与宽字符处理有关的函数,它们接受一个
<wchar.h> 头文件中包含了很多与文件读写有关的函数,一旦读取到文件末尾,或者写入失败,这些函数往往就会返回 WEOF。
WEOF 在 <wctype.h> 和 <wchar.h> 头文件中都有定义,它们的含义是相同的。
WEOF 是一个宏,它展开后是一个
wint_t
类型的常量。C语言标准规定,WEOF 的值不能和字符集中任何一个字符的值重合,所以它通常是负数,各种标准库在实现时往往将 WEOF 定义为-1
。
注意:对于 EOF,C语言标准规定它应该是负值;而对于 WEOF,C语言标准并没有规定它必须是负值,只是规定它不要和字符集中的任何一个字符重合,WEOF 除了可以实现为负数,还可以实现为一个很大的正数,只是实现为负数更加便捷,更加容易理解。WEOF 除了可以表示到达文件的末尾,还可以表示一个无效的宽字符。
<wctype.h> 头文件中包含了很多与宽字符处理有关的函数,它们接受一个
win_t
类型的参数,我们除了可以给它们传递一个正常的宽字符,还可以传递一个 WEOF,也就是无效的宽字符。<wchar.h> 头文件中包含了很多与文件读写有关的函数,一旦读取到文件末尾,或者写入失败,这些函数往往就会返回 WEOF。
WEOF 在 <wctype.h> 和 <wchar.h> 头文件中都有定义,它们的含义是相同的。