如何在创建.vtk文件时插入int变量?我想在每k步创建一个文件。 即所以应该有一系列文件,从file_no_1.vtk,file_no_2.vtk,...到file_no_49.vtk。
while(k<50){
ifstream myfile;
myfile.open("file_no_.vtk");
myfile.close();
k++;
}
答案 0 :(得分:12)
在C ++ 11中:
while(k<50){
ifstream myfile("file_no_" + std::to_string(k) + ".vtk");
// myfile << "data to write\n";
k++;
}
答案 1 :(得分:4)
使用stringstream
(包括<sstream>
):
while(k < 50){
std::ostringstream fileNameStream("file_no_");
fileNameStream << k << ".vtk";
std::string fileName = fileNameStream.str();
myfile.open(fileName.c_str());
// things
myfile.close();
k++;
}
答案 2 :(得分:1)
像这样:
char fn [100];
snprintf (fn, sizeof fn, "file_no_%02d.vtk", k);
myfile.open(fn);
或者,如果您不想要前导零(您的示例显示):
snprintf (fn, sizeof fn, "file_no_%d.vtk", k);