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

熱點內容
數據線黑了怎麼消除 瀏覽:883
iphone6快捷鎖屏 瀏覽:55
諸神黃昏源代碼 瀏覽:220
易我數據恢復向導怎麼用 瀏覽:134
pdf文件怎麼合並或拆分 瀏覽:702
jsp接受多選框 瀏覽:494
悅跑圈路線的文件格式 瀏覽:813
explore所在文件夾 瀏覽:952
win10會員計劃怎麼取消了 瀏覽:196
如何修改蘋果電腦用戶名和密碼 瀏覽:164
win7電腦右下角的網路連接圖標不見 瀏覽:735
怎麼把ps文件變成源文件 瀏覽:807
如何把圖片放進這個文件夾 瀏覽:530
誰有qq認證圖標復制 瀏覽:881
2014年web伺服器測試工具 瀏覽:192
win7鏡像文件怎麼用 瀏覽:983
多數據can怎麼發送 瀏覽:997
什麼是夏威夷果種植技術app 瀏覽:160
上海學習編程哪個地方好 瀏覽:958
股票軟體與交易編程軟體哪個好 瀏覽:216

友情鏈接