1
不同的变量数我有,看起来像一个文件:从文件中读取
1.23 2.34 4.4 6.5 3.4
3.43 5.34 5.44 4.5 1.4
.... and so on
所以有很多行用空格分开。其实我读他们:
double values[5];
while (infile >> values[0] >> values[1] >> values[2] >> values[3] >> values4]) {
for (int j = 0; j < 5; j++) {
coordinates.at(x).values.push_back(values[j]);
}
x++;
}
而且我希望能够改变的文件,例如从5到20值的数量是否有这样做的任何快捷方式?我发现的所有内容都是将整行读取为一个字符串,然后创建一个流并使用许多函数来获取此值。 我知道我的解决方案也是错误的,因为首先我将它们存储在表中,以便稍后将它们放入矢量中。
UPDATE:
回答这个问题是错误的,但我能跟它通过自己:
string line;
while (getline(file, line)) {
stringstream ss(line);
double val;
while (ss >> val) {
//do something
}
x++;
}
其实它不工作:一个错误***“终止叫做抛出实例后'std :: out_of_range'“***,并且有两个警告: ***”局部变量未在循环中更新:文件,ss“*** – Mateusz
我添加了一个if检查。虽然你明白了。而我没有得到你得到的错误消息:( – mustafagonul