C語言學習進程:fseek與ftell函數
fseek函數是 用來設定文件的當前讀寫位置.
函數原型: int fseek(FILE *fp,long offset,int origin);
函數功能:把fp的文件讀寫位置指針移到指定的位置.
fseek(fp,20,SEEK_SET); 意思是把fp文件讀寫位置指針從文件開始后移20個字節.
ftell函數是用來獲取文件的當前讀寫位置;
函數原型: long ftell(FILE *fp)
函數功能:得到流式文件的當前讀寫位置,其返回值是當前讀寫位置偏離文件頭部的字節數.
ban=ftell(fp); 是獲取fp指定的文件的當前讀寫位置,并將其值傳給變量ban.
fseek函數與ftell函數綜合應用:
分析:可以用fseek函數把位置指針移到文件尾,再用ftell函數獲得這時位置指針距文件頭的字節數,這個字節數就是文件的長度.#include <stdio.h> main() { FILE *fp; char filename[80]; long length; printf("輸入文件名:"); gets(filename); //以二進制讀文件方式打開文件 fp=fopen(filename,"rb"); if(fp==NULL) printf("file not found!\n"); else { //把文件的位置指針移到文件尾 fseek(fp,OL,SEEK_END); //獲取文件長度; length=ftell(fp); printf("該文件的長度為%1d字節\n",length); fclose(fp); } }
from: http://my.opera.com/lau_jia/blog/show.dml/380421
posted on 2007-01-05 10:46 weidagang2046 閱讀(35115) 評論(7) 編輯 收藏 所屬分類: C/C++