C++ 分配 struc 的内存数组
c++ allocate memory array of struc
我有一个宏正在读取带有348804849行的txt文件。我创建了一个结构来存储文件的每一列中包含的信息以及我添加的更多变量。我遇到的问题是我的计算机内存不足以存储所有这些信息。所以,我试图分配内存,但在运行代码时出现错误。这些是代码的相关部分。我简化了名字
在。C
ifstream myfile ("file.txt");
char str[LINE_BUFFER];
if (myfile.is_open()){
cout << "Theoretical file has been opened succesfully" << endl;
while (myfile && myfile.getline(str, LINE_BUFFER)){
myfile >> info[i].thing1 >> info[i].thing2;
i++;
}
lines_number = i-1;
myfile.close();
}else cout << "Unable to open file";
info = malloc(lines_number * sizeof *info);
并在 .h 中
struct info_t{
double thing1;
double thing2;
};
info_t *info;
错误:
在抛出"std::runtime_error"实例后终止调用 what():>>> 解释器编译错误:无法分配节内存!
目前您正在读取数组,然后创建/分配它。这是倒退。
理想情况下,您最好在阅读时解析每一行。而不是存储所有五千兆字节。
相关文章:
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 使用无符号字符数组有效存储内存
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 为什么调用堆栈数组会导致内存泄漏
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- 在 C++ 中访问数组负索引处的内存不会返回垃圾
- 查找自动生成键并具有线性内存消耗的小型关联数组
- C++,为什么数组比矢量更快,使用更少的内存
- 介于 [固定数组] 和 [带内存分配的指针] 之间的性能
- 当另一个数组是内存集时,内存集是否会更改数组长度?
- 动态分配字符数组的内存
- 将内存分配返回值强制转换为 TYPE 数组
- 销毁C++中动态分配的内存(数组对象)
- 给定特定内存地址的数组的动态内存分配
- 如何通过 malloc 为队列数组分配内存?
- 如何使用内存集清除字符数组
- 如何初始化所有元素为 0 的指针的二维动态内存数组
- 共享内存数组是否由 CreateFileMapping/MapViewOfFile 零初始化
- C++ 分配 struc 的内存数组
- 在CUDA中有效初始化共享内存数组