首页 > 解决方案 > 为什么当我点击文件结尾时设置了failbit但没有设置eofbit

问题描述

我有这个代码:

#include <iostream>
#include <vector>

int main()
{
    std::vector<int> vec;
    int num = 0;
    while (std::cin >> num)
        vec.push_back(num);
    std::cout << std::cin.eof() 
              << " " << std::cin.fail()
              << std::endl;
    return 0;
}

当我使用输入运行它时: 8 6 4 1 ^Z ,我得到输出: 0 1 为什么在到达文件结尾时设置了失败位但没有设置 eofbit,为什么在到达文件结尾时设置了失败位

标签: c++

解决方案


推荐阅读