我想创建vector
四个string
对象,四个ofstream
对象,string
对象用于命名输出文件,ofstream
对象用于写入数据。
#include <vector>
#include <fstream>
std::vector<std::string*> myFileNames;
std::vector<std::ofstream*> myFiles;
int id[4]={1,2,3,4};
for(int i=0; i<4; i++)
{
myFiles.push_back(new std::ofstream);
myFileNames.push_back(new std::string);
}
int tmp[4];
for(int i=0; i<4; i++)
{
tmp[i] = id[i] ;
myFileNames[i] = "file";
myFileNames[i] += tmp[i];
myFileNames[i] += " .csv ";
std::cout<< "Opening file:" << myFileName[i] << std::endl;
myFiles[i].open (myFileNames[i].c_str());
myFiles[i]<< "a,";
}
问题是从这一行开始 -myFileNames[i] = "file";
发生错误,似乎我无法myFileNames
以这种方式将值提供给成员,任何人都可以帮我解决这个问题,就像我想创建四个具有四个不同名称的文件,并给它们循环中的值。