在文本文件的中间追加字符串

时间:2014-07-06 19:15:45

标签: c++ string file

这是我的代码

#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。没有触及第二根弦。但我的代码根本不起作用。提前谢谢。

1 个答案:

答案 0 :(得分:3)

编辑文本文件并不容易。通常的解决方案是将整个源文件读入内存,在内存中进行修改,然后写出所有文件。

在您的示例中,文件似乎是基于行的,您可以逐行读取它并将行放在std::vector中。编辑要编辑的行,然后循环向量并写出行。

注意:在编写文件时,您可以在写入模式下打开它,因此会重新创建文件并丢失所有旧内容。