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

热点内容
古风字体教程 浏览:624
哪里可以找一次性内裤的销售数据 浏览:783
双个宽带接一个路由器怎么设置无线网络 浏览:112
同花顺数据同步在哪里 浏览:393
怎样申请一个qq账号和密码错误 浏览:118
车架号密码计算器 浏览:588
易语言linux数据包模块 浏览:939
安装手机豆瓣都会出现哪些文件夹 浏览:228
怎么搜索文件内的内容 浏览:715
怎么才能慢走丝编程 浏览:956
电脑有网络手机连不上wifi万能钥匙 浏览:623
完美世界高级易容卷文件 浏览:466
如何安装国家反诈中心app安装 浏览:343
删除软件配置文件 浏览:98
空管需要什么编程能力 浏览:273
window10如何开启app相机 浏览:798
网易有道词典app为什么不简洁 浏览:813
非结构化数据都存放在哪里 浏览:355
安卓关闭飞行模式震动事件监听 浏览:436
如何追踪文件传播路径 浏览:689

友情链接