为什么这段代码没有创建多个文件? ofstream 在遇到不存在的文件名时应该创建一个文件。然而,由于某种原因,即使名称不同,它也只创建了一个。
#include <iostream>
#include <fstream>
using namespace std;
int main(void){
ofstream fout;
for (int a = 0; a <= 2; a++){
string name = "test" + to_string(a) + ".txt";
fout.open(name);
}
return 0;
}
尝试像这样从“for”切换到“while”
#include <iostream>
#include <fstream>
using namespace std;
int main(void){
ofstream fout;
int a = 0;
while (a <= 2){
string name = "test" + to_string(a) + to_string(a+1) + ".txt";
fout.open(name);
a++;
}
return 0;
}
但没有结果。另外,我在名称中添加了另一个数字 (a+1),但仍然得到与创建的文件相同的结果
您必须先关闭流,然后才能打开另一个流。
如果流已经打开,fout.open(name);
将会失败并立即返回。