利用C++如何覆盖或删除指定位置的文件内容-创新互联

前言

10年的通州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整通州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“通州网站设计”,“通州网站推广”以来,每个客户项目都认真落实执行。

最近在工作中遇到一个问题,需要覆盖或者删除指定位置的文件内容,发现网上这方面的资料较少,无奈只能自己解决,下面将自己解决的方法分享给大家,方便大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

一、覆盖指定位置的文件内容

我们经常使用ofstream或者fstream可写文件,使用ifstream可以写文件,但需要设置文件的打开状态为iOS::out。C++中IO流打开模式使用位掩码来表示。

IO流打开模式有:

成员常量
appappend,追加模式,设置流指针在每一个操作前均指向文件流末尾
ateat end,设置流指针在打开时指向文件流末尾
binary以二进制模式开打文件流
ininput,输入模式,允许读取文件流
outoutput,输出模式,允许写入文件流
trunctruncate,截断模式,打开文件流时清空所有内容

些常数在ios_base类定义为public成员。因此,可以直接以类名字加作用域运算符访问(如ios_base::out),或使用ios_base的任何继承类或实例化的对象,例如ios::outcout.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;
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:利用C++如何覆盖或删除指定位置的文件内容-创新互联
文章分享:http://cdiso.cn/article/dspgjj.html

其他资讯