/* ?解題思路: 以只讀方式打開某一文件,然后將文件指針定位在文件結(jié)尾的位置,利用ftell函數(shù)返回指針的在文件中的相對位置即可。
在邢臺縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),邢臺縣網(wǎng)站建設(shè)費(fèi)用合理。
*/
#include?"stdio.h"
main()
{?FILE?*fp;???/*定義文件指針*/
long?cnt;???/*定義變量cnt用來存儲文件大小數(shù)據(jù)*/
fp=fopen("c:\\1.txt","r");???/*此處請?zhí)顚憸y試文件的地址,并以只讀("r")方式打開文件*/
if(?fp==NULL?)??/*如果打開的文件不存在,則退出*/
{?exit(0);
printf("文件打開失敗!");
}
fseek(fp,0L,SEEK_END);???/*利用fseek函數(shù)將指針定位在文件結(jié)尾的位置*/
cnt=ftell(fp);???/*利用ftell函數(shù)返回指針相對于文件開頭的位置,以字節(jié)計(jì)算*/
printf("文件所占的字節(jié)數(shù)為%ld個(gè)\n",cnt);???/*進(jìn)行輸出*/
}
C語言雖然沒有這類的函數(shù),但是您完全可以使用File類文件操作來重新打開一個(gè)文件進(jìn)行寫入,該文件被徹底清空了。微軟MSDN上有此類例子: FILE * fopen (const char * filename, const char * mode);
Mode:"w "
Create an empty file for writing. If a file with the same name already exists its content is erased.
你需要使用fseek函數(shù)將文件指針指向最后:
fseek(fp, 0L, SEEK_END);
sz = ftell(fp);
其中sz就是文件的大小。
當(dāng)你知道文件的大小后,就可以通過fseek重新定義到文件開始的位置:
fseek(fp, 0L, SEEK_SET);
或使用下面的函數(shù)定義的文件開始:
rewind(fp);
可以到秒秒學(xué)上看看相關(guān)的內(nèi)容,上面的課程講解得可以的。