文件格式如下:
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,编译命令&#34; g ++ -std = c ++ 0x io。 cpp -g -o io&#34;,请帮助我,谢谢!
答案 0 :(得分:1)
尝试包含<sstream>
并更改添加到向量的方式:
while(iss >> value) {
obs[i].variables.push_back(value);
}