win10读文件时C语言申请内存空间最大能申请多少个
Posted 勇敢*牛牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win10读文件时C语言申请内存空间最大能申请多少个相关的知识,希望对你有一定的参考价值。
读大量文件时,只能读出前面的一半???
win10C语言申请内存空间最大能申请多少个???
malloc是开辟一个连续的空间,可能你电脑里没有连续的5M空间存在,所以会崩溃,就比方你开一个10000*10000的int型数组页可能会报错一样。
而咱们要申请15548/1024≈15MB块连续的内存,那怎么的电脑到底有没有15MB的连续内存呢?有没有针对这样问题的解决办法呢?我暂时想到的是既然没有连续的15MB内存,那就找申请3块,每块5MB,只是程序代码繁琐点而已了。坐等有木有好得办法了。
#include <stdio.h>
#include <stdlib.h>
typedef struct POS
int year;
int month;
int day;
char sex;
int num;
POS;
long n=1;
POS * resd()
FILE *fp;
fp = fopen("C:\\\\Users\\\\牛鹏\\\\Desktop\\\\births.txt","r");
if(fp)
printf("读入成功");
else
printf("读入失败");
fscanf(fp,"%d",&n);//读出的n为15548
printf("\\nn=%d\\n",n);
POS* pos = (POS*)malloc(sizeof(POS*)*(n));
int i;
for(i=0;i<n;i++)
fscanf(fp,"%d,%d,%d,%c,%d",&pos[i].year,&pos[i].month,&pos[i].day,&pos[i].sex,&pos[i].num);
printf("\\n第%d批%d,%d,%d,%c,%d",i,pos[i].year,pos[i].month,pos[i].day,pos[i].sex,pos[i].num);
return pos;
int main()
POS *pos = resd();
return 0;
以上是关于win10读文件时C语言申请内存空间最大能申请多少个的主要内容,如果未能解决你的问题,请参考以下文章