在c ++中读取大型.txt文件时出现奇怪的错误
这个问题在这里已经有了答案:
float* hu_geometry = new float(dim);
int* hu_temp = new int(dim);
那些是包含值dim
1字符数组。 在某个时候,你正在碰到一个MMU边界并随机崩溃。
你想写:
float* hu_geometry = new float[dim];
int* hu_temp = new int[dim];
或者可能会更好地使用矢量,预先分配了dim
元素
#include <vector>
std::vector<float> hu_geometry(dim);
std::vector<int> hu_temp(dim);
或在开始时未分配:
std::vector<int> hu_temp;
并在你的代码中:
hu_temp.push_back(stoi(line));
( hu_temp.size()
给出了这里所描述的大小和许多非常好的功能)