重用相同的ofstream对象

时间:2015-02-26 18:31:05

标签: c++ ofstream

我想知道是否可以使用相同的ofstream对象打开多个文件?

string fileName = "transaction" + to_string(nbFile) + ex;
ofstream fs(fileName.c_str());
fs << "foo";

nbFile++;
fs.close();

string fileName = "transaction" + to_string(nbFile) + ex;
ofstream fs(fileName.c_str());
fs << "foo2"

如果我执行此代码,将创建第二个文件。如果我们可以使用相同的ofstream重新打开文件,我无法在MSDN文档中找到。

2 个答案:

答案 0 :(得分:2)

  

我想知道是否可以使用相同的ofstream对象打开多个文件?

是。以下是:

string fileName = "transaction" + to_string(nbFile) + ex;
ofstream fs(fileName.c_str());
fs << "foo";

nbFile++;
fs.close();

fileName = "transaction" + to_string(nbFile) + ex;

// Not this.
// ofstream fs(fileName.c_str());

// This
fs.open(fileName.c_str());

fs << "foo2"

答案 1 :(得分:1)

您始终可以使用open()类的ofstream功能。

fs.open(fileName.c_str());