导航:首页 > 文件教程 > 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语言读大文件相关的资料

热点内容
苹果手机不能定时关机 浏览:380
手机里照片在哪个文件夹 浏览:963
怎么改网络摄像头ip 浏览:332
ug管类零件斜面平面铣怎么编程 浏览:915
文件存储数据库有哪些优点 浏览:513
台州网络教育本科有哪些 浏览:533
太原租房什么网站 浏览:437
直接加入购物车代码 浏览:265
微信将被关闭是真是假 浏览:943
c的可视化编程软件有哪些 浏览:646
老师在微信群里发的文件表怎么在转发在群里 浏览:361
cf阅读完版本专题即可领取礼包哦 浏览:52
少儿编程班需要哪些东西 浏览:261
数据升级失败什么原因 浏览:505
洗衣机自编程是什么意思 浏览:572
主机的excel文件 浏览:530
mp4视频文件如何压缩 浏览:140
异或java 浏览:249
编程有什么相关证件 浏览:611
你的网线未连接网络连接失败 浏览:123

友情链接