m0_51304715 2021-01-03 23:56 采纳率: 0%
浏览 3

关于输入流作为循环条件的问题(有没有输入输出方面书籍的推荐?)

这是我的代码:

    int n;
    while (cin >> n)
    {
        if (cin.eof())
            cout << "到达文件末尾" << endl;
        if (cin.fail())
            cout << "输入错误" << endl;
        if (cin.bad())
            cout << "输入流崩溃" << endl;
        if (cin.good())
            cout << "输入流正常" << endl;
        cout << n << endl;
    }
    cout << "结束循环" << endl;
    if (cin.eof())
        cout << "到达文件末尾" << endl;
    if (cin.fail())
        cout << "输入错误" << endl;
    if (cin.bad())
        cout << "输入流崩溃" << endl;
    if (cin.good())
        cout << "输入流正常" << endl;
    cout << n << endl;
    return 0;

我输入 3.0 之后的结果:

为什么在循环里内,输入流还是正常,结束循环后就错误了呢?而且值也变为0了。

最后,有没有关于输入输出方面的书或资料的推荐呢?《c++primer》上讲的不是很多。

感谢!

  • 写回答

2条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-01-04 08:31
    关注

    你输入 “30”,  “abc”,  “3.0”, 分别会出现什么结果,可以自己分析一下。

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建