c++ - 将 .txt 文件中的 double 读入 double 组 C++

标签 c++ file-io

我正在尝试创建一个需要大量股票价格的程序。我将这些价格存储在一个 .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/

相关文章:

c++ - 累积没有给出我的 vector 的正确总和

c++ - 从R中的嵌入式c++函数返回值

c++ - 具有在参数中返回指针的函数的智能指针

PHP换行符写不正确

php - 更改通过表单上传的 tmp 文件的文件名

c - 额外的文件访问或大量的重新分配

c++ - 将 GetTickCount() vxWorks 转换为 Linux

c - fread() 将奇怪的东西放入 char 数组

c++ - .raw 文件格式 C++

c++ - Heapsort - 为什么 PercolateDown() 中的循环迭代 (length/2) 次?