文件格式如下:
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);
}