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

热点内容
ps3文件分割视频 浏览:280
微信图片一键转发软件 浏览:331
如何判断s200plc编程电缆 浏览:691
太原编程培训班哪个好 浏览:171
树叶吹奏教程 浏览:6
社交app带来了哪些社会问题 浏览:394
如何安装爱宝8800数据采集器 浏览:712
文件保存了怎么找不到了 浏览:476
彩票网站怎么辨真假 浏览:840
pr找不到该文件 浏览:963
java移除panel 浏览:354
jsp填充jsp 浏览:166
海关外贸大数据在哪里查 浏览:381
思特奇java笔试题 浏览:121
葫芦侠在手机中的文件名 浏览:813
plc编程应该怎么收钱 浏览:584
c语言中源文件由什么组成 浏览:890
linuxhttpdphp配置文件 浏览:607
拆单数据要怎么保存 浏览:17
mac电脑怎样压缩文件到100m 浏览:645

友情链接