假设我声明了一个文件ofstream myFile
。现在我只想创建一次这个文件,当我第二次执行这行时,我不想覆盖该文件并创建一个新文件?
答案 0 :(得分:1)
如果您有单文件单功能设置(例如日志),您可以考虑使用静态变量。
例如:
static ofstream* mylogger::outfile = new ofstream ("log.log");
从主要功能来看,你应该推动清理功能
atexit (mylogger::closePointers);
答案 1 :(得分:1)
ofstream myfile("filename",ios::app);
但这将继续附加到文件。如果文件不存在,则在开始时创建它。
答案 2 :(得分:0)
ofstream myFile;
它根本不会创建文件。您没有将文件名传递给构造函数。如果您传递它,它将创建该文件,如果该文件已不存在。这也意味着,如果您不想第二次覆盖该文件,则改为传递一个不同的参数。