作者 :
卿笃軍
獲得檔案大小需要用到2個函數:fseek() , ftell()
fseek()函數:
原型:intfseek(file*stream,
long offset, int fromwhere);
參數:
stream: 第一個參數stream為檔案指針
offset
: 第二個參數offset為偏移量,正數表示正向偏移,負數表示負向偏移
fromwhere: 第三個參數origin設定從檔案的哪裡開始偏移,可能取值為:seek_cur、
seek_end 或 seek_set
seek_set: 檔案開頭
seek_cur: 目前位置
seek_end: 檔案結尾
其中seek_set,seek_cur和seek_end依次為0,1和2.
簡言之:
fseek(fp,100l,0);把檔案内部指針移動到離檔案開頭100位元組處;
fseek(fp,100l,1);把檔案内部指針移動到離檔案目前位置100位元組處;
fseek(fp,-100l,2);把檔案内部指針退回到離檔案結尾100位元組處。
參考文章:百度百科,fseek(),
ftell()函數:
原型: longftell(file*stream);
功能:傳回目前檔案位置,也就是說傳回file指針目前位置。(也就是偏離檔案首字元個數)
參考文章:百度百科,ftell(),
這裡使用到 struct _stat結構體
st_atime : 上次通路該檔案的時間
st_ctime : 檔案建立時間
st_dev : 檔案所在磁盤
st_mtime :最後一次修改檔案時間
st_size : 檔案大小
//...... 所有參數請參見msdn