导航:首页 > 文件教程 > c语言读大文件

c语言读大文件

发布时间:2024-10-24 16:43:22

『壹』 怎样用C语言高效的读取一个70M 左右的txt文件并,如果用malloc函数的话怎么实现呢

现成的程序, 有英文详细解释
#include <stdio.h>
#include <stdlib.h>
int main () {
FILE * pFile;
long lSize;
char * buffer;
size_t result;
pFile = fopen ( "myfile.bin" , "rb" );
if (pFile==NULL) {fputs ("File error",stderr); exit (1);}
// obtain file size: 获取文件大小
fseek (pFile , 0 , SEEK_END); //窍门 1
lSize = ftell (pFile); // 窍门 2
rewind (pFile);
// allocate memory to contain the whole file: //动态分配
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}
// the file into the buffer: // 文件复制到 缓冲变量
result = fread (buffer,1,lSize,pFile);
if (result != lSize) {fputs ("Reading error",stderr); exit (3);}
/* the whole file is now loaded in the memory buffer. */ // 整个文件在 buffer 里
// terminate
fclose (pFile); // 关闭文件
free (buffer); // 释放
return 0;
}

『贰』 最近遇到个用C语言进行大文件处理的问题,以前没做过,希望各路高手给点方法。

问题:1,用C语言如何读取大文件?(要用内存映射及64位的API吗?)
答:分批处理,和普通文件一样。就是多循环几次。
2,如何统计文件里的行数?
答:统计文件中的换行字符个数。分批处理,计算。同时存储倒数第1000个回车符的文件指针位置。
3,如何读取文件中一行的数据?(fgets() api?)
答:识别换行字符。

问:读取最后的一千行的单位名称。
答:为了效率,打开文件后,就定位到倒数第1000个回车符的文件指针位置,进行读取。以换行符为分割来提取。

『叁』 c语言处理文件里的大数据

只能分块处理了,读入一块、处理一块、存储一块,数据库就是这么干的。

『肆』 用C语言,读取文件的大小,同时计算可以把文件分成多少块32K大小的块,而余下的那部分的大小是多少

#include<stdio.h>
intmain()
{
intn=0;
FILE*fp;
fp=fopen("test.txt","rb");
if(fp==NULL)return1;
while(fgetc(fp)!=EOF)n++;
printf("文件大小为%d字节 ",n);
printf("可以分成%d块32K ",n/(1024*32));
printf("余下的那部分的大小为%d字节 ",n%(1024*32));
fclose(fp);
return0;
}

阅读全文

与c语言读大文件相关的资料

热点内容
cocoapods版本更新 浏览:361
国外it大神教你学习如何编程 浏览:312
手机存储应用程序 浏览:284
页面自适应屏幕如何调整代码数据 浏览:681
jsjson工具 浏览:299
数据库中如何备份一张表的数据 浏览:739
网络设备能用到什么 浏览:64
暴风转码如何添加文件夹 浏览:515
延安整合网络营销有哪些 浏览:74
查找word打开过的文件在哪里 浏览:137
b树java代码 浏览:683
电脑文件存储 浏览:657
兰州中考征集志愿在哪个网站 浏览:215
cs文件上传下载 浏览:244
拷贝文件到根目录下重命名linux 浏览:603
api函数的头文件 浏览:249
华为怎么绑定迷你编程 浏览:215
机构怎么申请少儿编程考级 浏览:495
昆山数控编程哪里好学 浏览:459
jspcfor跳出 浏览:65

友情链接