没有合适的资源?快使用搜索试试~ 我知道了~
利用C++如何覆盖或删除指定位置的文件内容
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 9 下载量 170 浏览量
2021-01-20
05:44:47
上传
评论
收藏 58KB PDF 举报
温馨提示
试读
1页
前言 最近在工作中遇到一个问题,需要覆盖或者删除指定位置的文件内容,发现网上这方面的资料较少,无奈只能自己解决,下面将自己解决的方法分享给大家,方便大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、覆盖指定位置的文件内容 我们经常使用ofstream或者fstream可写文件,使用ifstream可以写文件,但需要设置文件的打开状态为iOS::out。C++中IO流打开模式使用位掩码来表示。 IO流打开模式有: 成员常量 app append,追加模式,设置流指针在每一个操作前均指向文件流末尾 ate at end,设置流指针在打开时指向文件流末尾 binar
资源推荐
资源详情
资源评论
利用利用C++如何覆盖或删除指定位置的文件内容如何覆盖或删除指定位置的文件内容
前言前言
最近在工作中遇到一个问题,需要覆盖或者删除指定位置的文件内容,发现网上这方面的资料较少,无奈只能自己解决,下面
将自己解决的方法分享给大家,方便大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
一、覆盖指定位置的文件内容一、覆盖指定位置的文件内容
我们经常使用ofstream或者fstream可写文件,使用ifstream可以写文件,但需要设置文件的打开状态为iOS::out。C++中IO流
打开模式使用位掩码来表示。
IO流打开模式有:流打开模式有:
成员常量成员常量
app append,追加模式,设置流指针在每一个操作前均指向文件流末尾
ate at end,设置流指针在打开时指向文件流末尾
binary 以二进制模式开打文件流
in input,输入模式,允许读取文件流
out output,输出模式,允许写入文件流
trunc truncate,截断模式,打开文件流时清空所有内容
些常数在ios_base类定义为public成员。因此,可以直接以类名字加作用域运算符访问(如ios_base::out),或使用ios_base的
任何继承类或实例化的对象,例如ios::out或cout.out 。
ofstream在打开文件时默认清空文件所有内容。如果使用ios::app来打开文件,虽然不会清空文件内容,但是每次写操作都追加
到文件末尾。
int main(){
fstream fout;
fout.open("hello.txt",fstream::binary | fstream::out | fstream::app);
pos=fout.tellp();
fout.seekp(-5,ios::end);
fout.write("####",4);
fout.close();
return 0;
}
上面的操作虽然使用了文件指针偏移操作fout.seekp(-5,ios::end); ,但是每次写入还是追加到文件末尾,解决办法使用文件打开模
式ios::in,这样可以保证文件内容不会被清空,且文件指针偏移操作有效。
fout.open("hello.txt",fstream::binary | fstream::out | fstream::in);
//或
fstream fout("hello.txt",fstream::binary | fstream::out | fstream::in);
二、删除指定位置的文件内容二、删除指定位置的文件内容
很遗憾,C++的文件流并没有提供这样的功能,我们只能先读取保留的内容,再以截断模式写回原文件[3]。
总结总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言
交流,谢谢大家对软件开发网的支持。
参考文献参考文献
[1]C++ overwriting data in a file at a particular position [2]std::ios_base::openmode [3]overwriting some text in a file using
fstream and delete the rest of the file
您可能感兴趣的文章您可能感兴趣的文章:C++实现单张图片读取和保存c++读取数据文件到数组的实例VC++实现文件与应用程序关联的方法(注册
表修改)C++实现修改函数代码HOOK的封装方法C++如何删除map容器中指定值的元素详解C++中关于set删除的一些坑浅谈
c++ vector和map的遍历和删除对象详解在C++中显式默认设置的函数和已删除的函数的方法C++删除指定文件夹下N天及之
前日志文件的方法C++递归删除一个目录实例C++ vector删除符合条件的元素示例分享C++操作文件进行读取、删除、修改指
定行
资源评论
- 2301_822778582024-04-19资源很受用,资源主总结的很全面,内容与描述一致,解决了我当下的问题。
weixin_38682518
- 粉丝: 3
- 资源: 935
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功