-2

它不起作用,我需要保留许多文件但名称不同,例如:file1.txt file2.txt file3.txt 其中数字是计数器,计数器是 X。

谢谢。

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>


using namespace std;
using std::string;


string ItoStr (int x);

int main(){

   string cadena;
   int x = 1;
   ofstream fs("nombre" + ItoStr(x) + ".txt"); //Fail line
   fs << cadena;
   fs << cadena;
   fs.close();


    };


string ItoStr (int x){

    string str2;
    stringstream ss;
    ss << x;
    str2 = ss.str();
    return str2;

    };
4

1 回答 1

0

你只需要打破它,并改变:

ofstream fs("nombre" + ItoStr(x) + ".txt");

到:

string fname = "nombre" + ItoStr(x) + ".txt";
ofstream fs(fname.c_str());

问题是ofstreams 构造函数采用(在 C++98 中,您似乎正在使用) a const char *,但您正在创建 a (temporary) std::string

于 2013-10-20T02:31:43.603 回答