2011-01-05 43 views
0

我試圖動態創建文件,它似乎有沒有與fstream的方式。實際上有嗎?不fstream支持文件的動態創建

#include <iostream> 
#include <fstream> 
using namespace std; 

int main() { 

for (int i = 0; i<2; ++i){ 
std::ofstream outfile 
outfile.open ((char)i+"sample_file.txt"); // something like this. numbers appended to the filename 
outfile << i; 
outfile.close(); 
} 
} 
+2

'(char)i +「sample_file.txt」'沒有做你認爲的事。這是C++而不是Java/C#。 – heavyd 2011-01-05 23:12:34

回答

5

如果你的意思是在運行時創建一個名稱,然後是的,但你必須在一個有效的方式來建立你的名字。例如。 (在#include <sstream>之後):

std::ostringstream fname; 
fname << "sample_file_" << i << ".txt"; 

outfile.open(fname.str().c_str());