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

熱點內容
有線電視升級失敗 瀏覽:560
火絨安全把文件刪掉了在哪裡找 瀏覽:503
手機qq網路狀態方框 瀏覽:225
哪裡有文件紙袋 瀏覽:873
復制的東西能不能粘貼到空文件夾 瀏覽:876
酒店沒有網路如何繳費 瀏覽:380
win10開機滾動很久 瀏覽:520
可對元數據實例進行的操作有什麼 瀏覽:934
什麼後綴的文件kit 瀏覽:295
word行書字體庫下載 瀏覽:579
iosuc版本歷史版本 瀏覽:14
電影字幕文件製作軟體 瀏覽:723
windows10免密碼登錄 瀏覽:762
iphone5s跑步記步 瀏覽:978
手機網站設計怎麼做好 瀏覽:322
中興路由器修改密碼 瀏覽:391
小米忘記壓縮文件密碼 瀏覽:716
cad哪些字體是形文件 瀏覽:2
word2007寶典pdf 瀏覽:46
lg電視如何連接網路 瀏覽:392

友情鏈接