文件格式如下:

A 1 2 3
B 1 2 3
...


我想在结构观察向量中读取它们,如下所示:

struct Observation {
    string category;
    vector<int> variables;
};


我如何阅读它们?我在这里搜索了一些解决方案,并尝试:

int main() {
    ifstream infile("data.txt");
    string line;
    string category;
    vector<Observation> obs;
    int i = 0;
    while(getline(infile, line)) {
        istringstream iss(line);
        iss >> category;
        int j = 0;
        int value;
        while(iss >> value) {
            obs[i].variables[j] = value;
            j++;
        }
        i++;
    }
}


但它说:错误:变量'std :: istringstream iss'具有初始化程序,但类型不完整,我的编译器是Ubuntu 12.04上的g ++ 4.6.3,请使用命令“ g ++ -std = c ++ 0x io.cpp -g -o io ”,请帮助我,谢谢!

最佳答案

尝试包含<sstream>并更改添加到向量的方式:

while(iss >> value) {
    obs[i].variables.push_back(value);
}

09-30 20:26