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