这是我的代码
#include <string>
#include <iostream>
#include <fstream>
int main(void){
fstream myfile2;
myfile2.open("test2.txt", ios::app);
string checkline;
getline(myfile2, checkline);
int razmer=checkline.length();
string balli="256";
myfile2.seekp(razmer);
myfile2<<balli;
}
test2.txt由2个字符串组成,因此它看起来像
Ivanov
Petrov
我想从Ivanov
- &gt;制作Ivanov 256
。没有触及第二根弦。但我的代码根本不起作用。提前谢谢。
答案 0 :(得分:3)
编辑文本文件并不容易。通常的解决方案是将整个源文件读入内存,在内存中进行修改,然后写出所有文件。
在您的示例中,文件似乎是基于行的,您可以逐行读取它并将行放在std::vector
中。编辑要编辑的行,然后循环向量并写出行。
注意:在编写文件时,您可以在写入模式下打开它,因此会重新创建文件并丢失所有旧内容。