每个 运行 文件中的连续输出

Coutinued output in file at each run

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

#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 ;
}

我希望在每个 运行 处添加一个新行,其中包含新的随机值并保留在前一个 运行 期间写入的旧值。

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

#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 and http://en.cppreference.com/w/cpp/io/ios_base/openmode。打开文件输出,不指定打开方式,默认截断文件。

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

This std::ofstream::open reference 也可能有帮助。