美好的一天,
我编写了以下函数,它是一些计算的一部分:
vector<double> read(){
cout << "Add file to calculate, example: name.txt" << endl;
char file;
double numz;
vector<double> myvector;
char str[256];
ifstream fin;
cin.get (str,256);
fin.open (str);
while(fin.good()){
fin>>numz;
myvector.push_back(numz);
}
return myvector;
}
此函数读取带有数字的单个.txt文件,并将它们保存到为其他函数中的进一步计算返回的向量。
该功能正常,但我想编辑它以使用保存的多个.txt文件,例如:
Write the names of the .txt files:
data10.txt data20.txt data30.txt
Size of the array is...: 60
我一直在寻找解决方案,但似乎没有任何效果。提前感谢如何解决此功能的任何提示和建议。
答案 0 :(得分:2)
您可以从输入行创建istringstream
并使用它来提取文件名:
//...
cin.get(str, 256);
string str2(str);
istringstream input(str2);
string filename;
while (input >> filename) {
istream fin(filename.c_str());
//... process as before
}
答案 1 :(得分:0)
我认为问题出在回归部分。如果是这样,您可以考虑将指针的向量返回到vector.i.e。
vector<vector<double>*> read()