C++ 学习之文件的读写
来源:互联网 发布:无线智能网络摄像机 编辑:程序博客网 时间:2024/05/17 05:50
对于C++文件的读写,个人认为关键之处在于牢记“文件流对象和文件的绑定是否正常”
要想读写文件,必须先定义文件的流对象,并且将定义的流对象与想要处理的文件进行绑定。对文件进行绑定,少不了涉及文件名称。
在C++中,文件名作为实参要求是C风格的字符串,而不是C++中的string类对象。通常的处理方法是用直接初始化的方法,括号中是C风格字符串;或者是将文件名赋值给一个string类对象,然后再调用c_str()成员函数进行转化。
例如:
string filename = "d://f1.txt";
fstream File(filename.c_str());
fstream File1;
File1.open("d://f1.txt");或者是File1.open(filename.c_str());
通过上面的方法,就已经将流对象与想要处理的文件绑定起来了。
C++中对文件的处理,时刻要记得检测流对象的状态,因为它直接影响你的绑定是否成功。
通常有几个管用手法在编程时是提倡的:
1.检测文件是否打开成功:
if(!文件流对象)
cerr<<"errors"<<endl;
2.文件操作完毕后,使用close和clear成员函数关闭文件和清除流的错误状态
用以上两个操作主要有如下原因:
1)C++中文件流对象一旦打开,就一直与所绑定的文件关联,如果想要利用此流对象与其他文件绑定,需要先关闭当前的文件,然后在打开另一个文件;2)一般读取文件时,当到达文件结束符或者出现错误,流对象此时都会处于错误状态,仅仅关闭文件不能是流对象恢复正常,需要对其使用clear操作,使流对象有效。
下面是一个例子:在d盘有两个文件命名为f1.txt和f2.txt。文件里面简单随便写了几句话。使用visual studio写了一个例子。
程序:
结果
如果在处理第二个文件之前,不进行close和clear操作,编译能通过,但是所得结果为:
因为在第一个文件处理后,流处于不可用状态,一个不可用的流,对其进行绑定,就是空谈!
- C文件之三 文件的读写
- C文件读写学习
- C/C++学习之C提高-----文件操作,C程序读写文件、配置文件读写案例
- C++ 学习之文件的读写
- iOS学习之 plist文件的读写
- IOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- iOS学习之 plist文件的读写
- 链表的各种操作实现 链表逆序 链表排序 有序链表归并 链表存在环的判定
- Ubuntun下Android SDK环境搭建
- 教您怎么样正确给黑莓手充电
- ucGui初探
- [Eclipse/MyEclipse]@操作符没有提示
- C++ 学习之文件的读写
- 手机精灵开发文档
- winform中实现tabPage的隐藏
- winform中实现tabPage的隐藏
- doodle:圣代冰淇淋发明119周年
- Qt 之 show,hide,setVisible,setHidden,close 等小结
- Eclipse开发环境搭建
- 从 Qt 的 delete 说开来
- 数据结构[一]