如何将文件中的值输入到矢量中?

时间:2018-01-19 06:44:52

标签: c++

我一直在用这段代码遇到麻烦。

void readData(const string & filename, vector<double> & fpAngle, vector<double> & liftCo) {

ifstream inFS(filename);
double num1;
double num2;

inFS.open(filename);

if (!inFS.is_open()) {
    cout << "Error opening " << filename << endl;
    exit (1);
}

while (inFS >> num1 >> num2) {
    if (!inFS.fail()) {
        fpAngle.push_back (num1);
        liftCo.push_back (num2);
    }
}

inFS.close();

return; 

对于这种情况,我从一个格式化为2列的文件中提取值,我必须将两列都存储到它们各自的向量中。无论我尝试什么,我都无法在两个向量中获得正确数量的值。这里有什么我想念的吗?感谢。

编辑:问题已经解决。我采用了moldbdnilo的建议并相应地编辑了代码,删除了打开/关闭以及(!infs.fail()),这使代码工作。谢谢你,并对我的问题可能没有更彻底的道歉。

1 个答案:

答案 0 :(得分:0)

这对你来说可能会有一些变化。

int main()
{

    ifstream inFile;
    inFile.open(filename);
    if (inFile.fail()) {
         cout << "Error opening " << filename << endl;
    }
   std::vector<std::string> code;
    string S;
   while(fh>>s){
             code.push_back(s);
    }

    for(int i=0; i<vs.size(); i++){

            std::cout<<code[i]<<std::endl;
    }
}