C++文件操作<1>
2012-09-15 12:19
162 查看
#include <iostream> #include <string> #include <fstream> using namespace std; /* strm::iostate 机器相关的整形名,由各个类定义,用来定义条件状态。 strm是ios,ifstream,ofstream strm::badbit strm::iostate类型的值,用于指出被破坏的流,标志着系统级的故障,如无法恢复的读写错误。如果出现。该流通常不能使用了。 strm::failbit 同上,用于指出失败的流,可以修正的 strm::eofbit 同上,用于指出指出流已经到达文件结束符 eof() 如果流设置了eofbit值,则返回true fail() 如果流设置了failbit值,则返回ture bad() 如果设置了badbit值,则返回ture good() 如果流的状态为有效,则返回true clear() 将流的状态设为有效状态 clear(flag) 将流s中的某个状态设为有效。flag的类型为strm::iostate setstate(flag) 将流添加指定条件。 rdstate() 返回流的当前状态 eofbit是在遇到文件结束符时设置的,此时同时还设置了failbit(); */ int main() { ifstream fin("b.txt"); if(!fin)cout<<"can't read from b.txt"<<endl; //流在进行无错误状态,才能用于输入或输出。检测流是否可用的最简单方法是检查其真值。 string s; fin>>s; cout<<s<<endl; cout<<cin<<endl;//0x804a068 if(cin) cout<<1<<endl; cin.setstate(ios::badbit); cout<<cin<<endl; //0 cin.clear(); cin.setstate(ios::failbit); cout<<cin<<endl; //0 cin.clear(); cin.setstate(ios::eofbit|ios::failbit); cout<<cin<<endl; //0x804a068 if(cin.fail())cout<<"fail"<<endl; if(cin.eof()) cout<<"eof"<<endl; /*如果你单单设置了ios::eofbit,fail是不会显示出来的。*/ cin.clear(); int i; while(cin>>i) { cout<<i<<endl; } if(cin.fail())cout<<"read error"<<endl; if(cin.eof())cout<<"read eof"<<endl; /*当我键入一个h字符时,输出结果是read error*/ /* 当我键入ctrl+d时,输出:read error read eof */ }
相关文章推荐
- C++文件操作<5>
- linux下结合sqlite3做一个英语查询字典小项目 <1>
- Rust之开始入门<1>
- Residual Networks <2015 ICCV, ImageNet 图像分类Top1>
- Jquery<1>认识Jquery
- HTM5 Basic<1>
- ThinkPHP 3.1.2 模板中的基本语法<1>
- AMP -> Chapter 3 Concurrent Objects -> Notes<1>
- platform s3c2440_led 驱动代码简要分析<1>
- 正则<1>
- </em>;<img src="1" onerror="alert(1)">;//
- 《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 <1>
- jsp的九大内置对象和四大作用域<1>
- HTML<1>
- MongoDB MapReduce 实战<1>
- Android View 流程简读 <1>
- Alfred工具使用<1>
- 数值<1>__笔记(7)
- 让代码写得更好看---变量<1>
- java异常处理<1>__笔记(17)