cin输入错误时导致failbit为1时的缓冲区分析。
来源:互联网 发布:一件代发软件 编辑:程序博客网 时间:2024/06/04 20:00
//当cin尝试将输入的字符读为int型数据失败后,会产生一个错误状态//会把cin的failbit设定为1,所以会出现cin错误。所以must i?//依然会留在缓冲区中(由此我们可以做一个假定当输入触发cin中的failbit//为1时,数据仍然留在缓冲区中并没有被丢弃)//要使程序能够继续正常工作需要用clear清除failbit状态#include <iostream>using namespace std;const int Max = 5;int main(){//using namespace std;//get dataint golf[Max];cout<< "Please enter your golf scores.\n";cout << "you must enter " << Max << " round.\n";int i;for (i = 0; i < Max; i++){cout << "round # " << i + 1 << ": ";while (!(cin>> golf[i])){cin.clear();char ch;while ((ch=cin.get()) != '\n'){cout << ch << "Look!\n";continue;}cout << "Please enter a number: ";}}double total = 0.0;for (i = 0; i < Max; i++)total += golf[i];cout << total / Max << " = average score " << Max << " rounds\n";return 0;}
0 0
- cin输入错误时导致failbit为1时的缓冲区分析。
- 用cin.sync()清空输入缓冲区是错误的
- 【C++】 cin错误导致的while()死循分析
- cin 与输入缓冲区
- std::cin.getline()输入缓冲区溢出错误处理
- 关于C++cin输入错误清空缓冲区
- cin和cin.get()在输入字符时的区别
- cin的用法及清空输入缓冲区问题
- cin的用法及清空输入缓冲区问题
- cin、cin.clear()、cin.ignore()与输入缓冲区
- cin的错误标记和缓冲区清空
- cin的错误标记和缓冲区清空
- C++中cin输入错误的解决办法
- cin标准输入流的错误处理
- cin输入错误处理
- cin深入分析(下) - cin的错误处理【转载】【补充】
- cin深入分析(下) - cin的错误处理(转)
- cin深入分析(下) – cin的错误处理
- js创建Studio2.x动画
- oracle substr、instr以及case when 的连用截取字符串以及替换(repace)的使用
- ganglia 报 "Error 1 sending the modular data for" Error解决方法
- 强烈推荐一个pomelo程序设计伴侣
- Unable to run mksdcard SDK tool
- cin输入错误时导致failbit为1时的缓冲区分析。
- 查找中的性能调优策略
- 数据结构时间复杂度
- LeetCode题解:Search a 2D Matrix
- c# mdi子窗体简单教程
- Threads in Java
- LeetCode Multiply Strings
- cookie 和session 的区别详解
- java的System.getProperty()方法可以获取的值