学习IO库IO类条件状态时发现的问题,EOF
在开头时eofbit正常置位:
#include <iostream>
int main(int argc, char *argv[])
{
int a;
std::cin >> a >> a;
std::cout << std::cin.eof() << std::endl;
return 0;
}
输入CTRL+Z 1,回车
而EOF
在输入字符后面时,不能识别为文件结束,输入1 CTRL+Z:
查看EOF
的定义发现,EOF
是一个int
类型的常量,值为-1
后续经测试发现,只有第一个EOF
被识别为文件结束,后面的EOF
都读取为空字符。