C++文件操作浅谈

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

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 二进制文件

心得

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值