C++删除文件末尾字符

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 00:19   446   0

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

1 #include <iostream>
2 #include <fstream>
3 std::ofstream aa("1212.txt",std::ios::in);
4 int main(){
5     aa.seekp(-5,std::ios::end);
6     aa<<":";
7     aa.close();
8 }

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

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

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

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

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

ios::beg:开头

os::cur:当前位置

ios::end:末尾

最后记得要close

转载于:https://www.cnblogs.com/61355ing/p/10716407.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP