0

再会,

我编写了以下函数,它是一些计算的一部分:

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 

我整天都在寻找解决方案,但似乎没有任何效果。提前感谢您提供如何解决此功能的任何提示和建议。

4

2 回答 2

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
}
于 2012-11-12T20:10:36.053 回答
0

我认为问题出在返回部分。如果是这样,您可以考虑返回指向vector.ie的指针的向量

vector<vector<double>*> read()
于 2012-11-12T20:14:13.570 回答