我需要从一个包含每行一个新的float数字的.data或.txt文件中读取数据到一个向量中。
我已经广泛搜索并尝试了许多不同的方法,但每次都得到相同的结果,即Main.size()为0,并出现错误提示"Vector Subscript out of Range",因此很明显这个向量没有从文件中读取任何内容。
注意:该文件既在文件夹中,也包含在VS项目中。
无论如何,这是我的代码:
我得到的结果总是简单的:
我已经广泛搜索并尝试了许多不同的方法,但每次都得到相同的结果,即Main.size()为0,并出现错误提示"Vector Subscript out of Range",因此很明显这个向量没有从文件中读取任何内容。
注意:该文件既在文件夹中,也包含在VS项目中。
无论如何,这是我的代码:
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>
using namespace std;
int main() {
vector<double> Main;
int count;
string lineData;
double tmp;
ifstream myfile ("test.data", ios::in);
double number;
myfile >> count;
for(int i = 0; i < count; i++) {
myfile >> tmp;
Main.push_back(tmp);
cout << count;
}
cout << "Numbers:\n";
cout << Main.size();
for (int i=0; i=((Main.size())-1); i++) {
cout << Main[i] << '\n';
}
cin.get();
return 0;
}
我得到的结果总是简单的:
Numbers:
0
test.data
实际上是什么样子? - us20121.4049 4.9166 3.3903 2.4963 2.4429 3.7053 1.9727 3.1569 2.5528 4.4527 1.5241
但有1000个条目,每个条目都在新行上。 - Orgmo