每次运行时都在文件中查找输出

Coutinued output in file at each run

本文关键字:查找 输出 文件 运行时      更新时间:2023-10-16

如何避免在每次运行时更新文件内容

#include <iostream>
#include <fstream>
#include <math>
using namespace std;
int main() {
  ofstream file("file.txt");
  v2 = rand() % 100 + 1;
  file<< v2;
  file.close();
  return 0 ;
}

我希望在每次运行时添加一行新行,其中包含新的随机值,并保留上一次运行中写入的旧值。

打开文件时需要指定"附加"模式:

#include <iostream>
#include <fstream>
#include <math>
int main() {
  std::ofstream file("file.txt", std::ios_base::app);
  v2 = rand() % 100 + 1;
  file << v2;
  file.close();
  return 0 ;
}

请参阅http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream和http://en.cppreference.com/w/cpp/io/ios_base/openmode详细信息。在不指定打开模式的情况下打开文件进行输出,默认情况下会截断文件。

默认情况下,打开一个文件进行写入会覆盖现有文件(如果有的话(。您需要指定一个使文件保持原样的打开模式。例如ateapp(选择哪一个取决于您的用例(。

这个std::ofstream::open参考可能也会有所帮助。