函數名: fseek
頭檔:<stdio.h>
函數原型: int fseek(FILE *stream, long offset, int fromwhere);
功能:重定位流上的檔案指標在流上重新定位檔案結構的位置。 fseek設定與流stream相符的文件指針到新的位置,新位置與fromwhere給定的文件位置的距離為offset位元組。
參 數: FILE *stream 要重定位的流
long offset 重定位的偏移量
int fromwhere 重定位的位置
傳回值: 成功回傳0 ,出錯或失敗回傳非0值。
補 充: fromwhere的值必須是0,1或2中的一個分別代表在stdio.h中定義的三個符號常數:
0是SEEK_SET,是檔案開始位置;
1是SEEK_CUR,是目前的指標位置;
2時SEEK_END,是文件結尾。
呼叫了fseek之後,在更新的檔案位置上,下一個操作可以是輸入;也可以是輸出。
程式例:開啟文件,將字串輸入到檔案流stream中,並重定位到檔案的開頭,輸出檔案的長度
#include<stdio.h>longfilesize(FILE*stream);intmain(void){FILE*stream=fopen(myfile.txt,w+);fprintf(stream,www.dotcpp.com);fseek(stream,0,SEEK_END );printf(Filesizeofmyfile.txtis%ldbytesn,ftell(stream));fclose(stream);return0;}
運行結果
Filesizeofmyfile.txtis14bytes