導航:首頁 > 文件教程 > 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語言讀大文件相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接