如何在一行上解析包含未知数量变量的文本文件?

时间:2013-06-16 22:34:52

标签: c++

我正在阅读一个文本文件。第一个数字是#部分。下一步是零件名称。其后是子部分 - 可以是从无到有,到很多不同的数字。 如何用我想读的未知数量的变量解析这个?谢谢!

例如:

12发动机11 14 39 26

11 Fan 9 6

9 Fanblade

6轴承

14 Compressor 11 6

39 Combustor 65 63

65喷嘴

63 Fuel-Line

26 Turbine 9 6 77

77 Gear

我一直在使用但显然只是抓住了部件名后面的第一个数字:

while(getline(file_in, line)) {
    istringstream strm;

     strm.str(line);

    string id;
    string name;
    string parent;

    strm >> id;
    strm >> name;
    strm >> parent;
    cout << "Got ID "<<id<<" Name "<<name<<" Parent "<<parent<<endl;

}

1 个答案:

答案 0 :(得分:1)

这样的事情:

vector<string> parents;

while(strm >> parent)
{
   parents.push_back(parent);
}