C++文件操作浅谈

来源:互联网 发布:开通淘宝网店需要1000 编辑:程序博客网 时间:2024/06/04 00:50

这两天受托帮大哥做个小软件,其中涉及到大量关于文件的操作。以前对于文件的操作没有仔细研究过,做项目的过程中遇到了不是问题,而且问题都很奇怪。现在还清楚的记得的问题是,逻辑明明很正确调试也正确的代码,实际效果确不是这样,令人很郁闷。到现在也不明白问题所在。但解决的办法到时琢磨出来了,写在这里做个记录。

C++文件操作

头文件

ifstream 管理文件输入流

ofstream 管理文件输出流

fstream 前两者的集成

C++中文件的操作,首先要创建文件流对象,然后将对象与文件相关联。这样就可以像使用cin/cout一样来操作文件的读取与写入了,极其很方便。

以前引用自《C++ Primer Plus》

C++文件流类从ios::base类那里继承了一个流状态成员,和报告流状态的方法。这个成员存储了指出流状态的信息:

一切顺利,已经到达文件尾,I/O操作失败。

如果一切顺利,流状态为零。其他状态都是通过特定位置为1来记录。

 

C++ 用is_open()来检查文件是否被打开要更好。有点在于可以检查文件模式不合的失败。

Ps:可以同时打开的文件书数取决于操作系统,但通常为20个左右。

文件模式

ios::in 读ios::out 写 ios::ate 移动到尾 ios::app 追加 ios::trun 存在截短ios::binary 二进制文件

心得

文件操作如果打开文件与关闭文件中间隔过多的其他操作,则很可能出现问题,解决方法就是短关闭再打开。

原创粉丝点击