在学习文件读取时碰到文件尾字符 EOF 的问题,顺藤摸瓜找到 char_traits
msdn 上关于 EOF 的说明,就一句话:
Returns the end-of-file (EOF) character.
在注意中提到一句:
A value that represents end of file (such as EOF or WEOF).
意思是 EOF 表示的是文件尾的一个值,对于不同的字符集会对应不同的数值,但对用户来说就隐藏了这种细节。在给出的示例中也说明了这一点:
// char_traits_eof.cpp
// compile with: /EHsc
#include <string>
#include <iostream>
int main()
{
using namespace std;
char_traits<char>::char_type ch1 = 'x';
char_traits<char>::int_type int1;
int1 = char_traits<char>::to_int_type(ch1);
cout << "char_type ch1 is '" << ch1 << "' and corresponds to int_type "
<< int1 << "." << endl <<