C++---if(!cin)与if(!(cin >> xxx))
2015-10-10 21:15
519 查看
!cin,判断上一次的输入是否失败(fail) !(cin >> xxx)判断当前输入是否失败(fail)
对于流操作,都有它的条件状态,如stream.eof()、stream.fail()、stream.bad()、stream.good()。从下面的结果中就可以知道是怎么一回事了。
#include <iostream> #include <cstdlib> using namespace std; int main() { //输入2b,打印出2;输入b2,打印出 "cin is fail" int itest = 0; if(!(cin >> itest)){ cerr << "cin is fail" << endl; return EXIT_FAILURE; } cout << itest <<endl; //不管输入什么,均能输出,因为都符合字符串 string str; if(!(cin >> str)){ cerr << "cin is fail" << endl; return EXIT_FAILURE; } cout << str << endl; //跟itest一样 int itest1 = 0; cin >> itest1; if(!cin){ cerr << "cin is fail" << endl; return EXIT_FAILURE; } cout << itest1 <<endl; return EXIT_SUCCESS; }
相关文章推荐
- Node.js中的流(Stream)介绍
- PHP Streams(流)详细介绍及使用
- iostream与iostream.h的区别详细解析
- 举例讲解Java中的Stream流概念
- ofstream和ifstream详细用法---转
- c++ 覆盖、重载、隐藏
- 递归的简单例子 3n+1问题
- C++ 递归计算器 源代码
- C++标准库简介(转)
- 书的目录
- foj1080奇怪的数列 foj2030括号匹配
- C++简易编程---简略学生信息治 4000 理三亚艺术摄影
- thinking in c++ 卷2
- thinking in c++卷2
- thinkng in c++卷2
- Thinking in C++ 卷2中文版
- 转载:C++回调函数示例
- 解决了DEV-C++输出时一闪而过的问题
- C/C++头文件包含内容概览
- 算法系列——N皇后问题