獲取文件大小的函數(shù) 如何用C語言獲取文件的大???
如何用C語言獲取文件的大???/*解決方案:以只讀模式打開文件,然后在文件末尾找到文件指針,并使用fTell函數(shù)返回指針在文件中的相對(duì)位置。*/#包括“標(biāo)準(zhǔn)”。H“main(){file*FP/*定義文
如何用C語言獲取文件的大小?
/*解決方案:以只讀模式打開文件,然后在文件末尾找到文件指針,并使用fTell函數(shù)返回指針在文件中的相對(duì)位置。*/
#包括“標(biāo)準(zhǔn)”。H“main(){file*FP/*定義文件指針*/long CNT/*定義變量CNT以存儲(chǔ)文件大小數(shù)據(jù)*/FP=fopen(”C:1)。TXT“,”R“/>*請(qǐng)?jiān)诖颂幪顚憸y(cè)試文件的地址,并以只讀模式打開文件*/if(FP==null)/*如果打開的文件不存在,則退出*/{exit(0)Printf(”file open failed!“)}fseek(fp,0L,SEEKEnd)/*使用fseek函數(shù)將指針定位到文件的末尾*/CNT=fTell(fp)/*使用fTell函數(shù)返回指針相對(duì)于文件開頭的位置,并計(jì)算*/printf(以字節(jié)為單位)(”文件占用的字節(jié)數(shù)為%LDn”,CNT)/*以輸出*/}
我也想知道這個(gè)問題。目前,當(dāng)我編寫自己的程序來處理CSV格式的文檔時(shí),我使用fgets逐行讀取,讀取一行,處理一行,然后讀取下一行。處理的文件從幾兆字節(jié)到十幾兆字節(jié)不等,速度可以接受,但一半以上的時(shí)間都花在讀寫上。因?yàn)閒gets有自己的緩沖區(qū),所以似乎沒有改進(jìn)的余地。我試圖增加緩沖,但沒有明顯的效果。