有没有一种方法可以防止存储在txt文件中的先前运行的值(防止覆盖)?

时间:2012-08-29 13:00:10

标签: c++ file-io

我是C ++的初学者(目前正在进行文件处理),我遇到了一个困难,因为我以前的运行值是overwritten。我正在寻找补救措施。

我想保存至少五个可能添加到我的程序中的输入.....例如名称..我要求姓名..然后存储

   .....
  ofstream f("f.txt");
  cin>>name
  f<<name;
   ....  

每次运行后会发生的事情是,在上一次运行中输入的名称会被覆盖......有没有办法防止这种情况发生?

2 个答案:

答案 0 :(得分:5)

您可能希望追加代替该文件,请参阅documentation

 std::ofstream f( "f.txt", std::ios::app );

答案 1 :(得分:2)

您也可以使用std::ios::ate导致所有写入都添加到文件末尾

std::ofstream f( "f.txt", std::ios::app | std::ios::ate )