在文件名中插入int变量

时间:2012-07-11 17:00:40

标签: c++

  

可能重复:
  Easiest way to convert int to string in C++

如何在创建.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++;
}

3 个答案:

答案 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);