C++删除文件末尾字符

C++中使用fstream来进行文件读写,如果要覆盖文件末尾的部分字符,应该怎么操作呢?

 #include <iostream>
#include <fstream>
std::ofstream aa("1212.txt",std::ios::in);
int main(){
aa.seekp(-,std::ios::end);
aa<<":";
aa.close();
}

首先是ofstream的文件打开格式问题,

ios::app是在文件末追加写,会使seekp函数往回倒的时候失效

ios-ate是在文件打开时指针定位到文件结束,会清空文件中的内容

ios::in可以正常操作,不会清空其中的内容,但无法生成文件

然后关于seekp函数,第一个参数就是相对位置的偏移,第二个参数有

ios::beg:开头

os::cur:当前位置

ios::end:末尾

最后记得要close

上一篇:清清楚楚地搭建MongoDB数据库(以搭建4.0.4版本的副本集为例)


下一篇:MIPI接口资料汇总(精)