❶ c語言如何讀寫大型的txt文件
給點建議:
(1)數據量很大時,數組要聲明為全局量,例如:
#include<stdio.h>
char s[4000001][20];
main(){
strcpy(s[4000000],"12345678");
printf("%s",s[4000000]);
}
否則,stack 會溢出
--------
(2) 兩列數據,跳一列,讀一列格式:
i=0;
while(1){
if ( fscanf(fp,"%*s %s",s[i]) != 1) break;
i++;
};
printf("I read %d values\n",i);
-------------
(3) 為加速處理,可以用把 pass 分成 第一個字元 s[i][0] 是 數字 1,2,3,。。字母 a,b,..z 字母 A,B..Z
共62 組 ,分組處理。統計。
char target[]="......Z";
每讀1組, 用 rewind(fp); 回到文件頭,再讀
i++; 改用 if (s[i][0]==target[j]) i++;
for (j=0;j<62;j++){
i = 0;
while(1){
if ( fscanf(fp,"%*s %s",s[i]) == EOF) break;
if (s[i][0]==target[j]) i++;
};
printf("I read %d values\n",i);
// 處理
};
❷ 用C語言怎麼保存文件
fopen();代開文件,如果文件不存在則會自動創建,要想保存文件,要包文件打開時的許可權設置為「R」,即可寫的。
fwrite();寫入數據
fclose();關閉!
❸ C語言如何寫超過2G大小的文件
將 =top#源反編譯 重復翻倍 直到超過1G然後再反編譯翻倍 2G以上就有了
❹ 怎麼保存大文件
建議上傳到網盤上去..RP,或納米機器人之類的都管用.
❺ C語言高速讀大文件、寫大文件的方式
寫文件一般是追加快些
如果你要輸出例如XML。
還有,每個進程應該有4G,靠操作系統內版存管理+頁面文件權維持、
還有,開個幾百M的數組不劃算、用malloc+free快些,可以動態的,不讓操作系統在載入時就開辟幾百M,而是陸續的開——除非你在寫匯編程序——匯編向OS申請內存很費勁,要 SYSCALL
❻ C語言怎麼實現大文件分塊寫入內存
可以用這種理念:定義一個數組比如長度為100 用這個數組裝從大文件讀出來的數據 用循環來讀和往內存里寫數據 等到哪次這個數組的內容不滿100的時就是這個大文件讀完的時候,利用這一條件可跳出循環結束寫操作