我正在尝试创建一个需要大量股票价格的程序。我将这些价格存储在一个 .txt 文件中,每行一个双。有一个未知的数字(可能是数千)。我无法将数据放入我可以操作的数组中。我几个小时以来一直无法解决这个问题。每当我尝试从文件中读取数据然后将其转换为 double 时,我都会遇到奇怪的线程错误并且程序挂起。谁能告诉我如何将未知数量的 double 读入数组。
string line;
vector<double> doubles;
fstream myfile ("/Users/jaychinnaswamy/Documents/PMHistory.txt",std::ios_base::in);
int x=0;
float a;
while (myfile >> a)
{
doubles[x]=a;
}
文件结构的一个例子是:
50.4000000000000
50.8000000000000
50.5000000000000
50.2100000000000
49.1500000000000
48.5000000000000
谢谢
最佳答案
您在这里创建了一个空 vector 。
vector<double> doubles;
在这里,您正在对 vector 进行索引,就好像它不为空。它仍然是空的,您正在访问一个无效元素。
doubles[x]=a;
更改该代码以使用 std::vector::push_back()
.
doubles.push_back(a);
关于c++ - 将 .txt 文件中的 double 读入 double 组 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24337972/