20M大小的BIN文件,如何读取?我用C语言。

来源:百度知道 编辑:UC知道 时间:2024/05/17 05:30:39
比如说文件名叫111.bin,大小为20M,元素个数也就是2000万个。如何建立一个数组f能存下这个文件,C语言好像只能建立大小为 64K的数组,改怎样做?动态数组吗?我内存2G的,应该可以在硬件上支持。

假定文件中存放的数据类型为int,可以这样分配内存:
int *a = (int *)malloc(sizeof(int) *20000000);
需要用到的头文件:
#include <malloc.h>
#include <stdlib.h>

char* ptr = new char[20*1024*1024];
这样分配应该不会失败。

纯C的话可以使用全局变量 或者动态分配都可以

要是win下C可是使用文件映射 不过20M 有点大才小用

楼上给的是C++的new 要是可以用C++,可以使用stream 效率很高