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

熱點內容
如何恢復瀏覽器裡面的網站 瀏覽:75
導航找不到本地文件是怎麼回事 瀏覽:801
智恆網路 瀏覽:141
古風字體教程 瀏覽:624
哪裡可以找一次性內褲的銷售數據 瀏覽:783
雙個寬頻接一個路由器怎麼設置無線網路 瀏覽:112
同花順數據同步在哪裡 瀏覽:393
怎樣申請一個qq賬號和密碼錯誤 瀏覽:118
車架號密碼計算器 瀏覽:588
易語言linux數據包模塊 瀏覽:939
安裝手機豆瓣都會出現哪些文件夾 瀏覽:228
怎麼搜索文件內的內容 瀏覽:715
怎麼才能慢走絲編程 瀏覽:956
電腦有網路手機連不上wifi萬能鑰匙 瀏覽:623
完美世界高級易容卷文件 瀏覽:466
如何安裝國家反詐中心app安裝 瀏覽:343
刪除軟體配置文件 瀏覽:98
空管需要什麼編程能力 瀏覽:273
window10如何開啟app相機 瀏覽:798
網易有道詞典app為什麼不簡潔 瀏覽:813

友情鏈接