1.rewind(fp);
fp為文件指針。返回值為void 即無返回值
該函數的作用是使位置指針重新返回文件的開頭。
2.feek(fp,位移量,起始點);
fp是文件指針;
位移量:以起始點為基准向前滑動的字節數。位移量小於0則表示向後滑。ANSI C和大多數C版本要求位移量是long型數據。這樣當文件長度大於64KB時不至出問題。ANSI C標准規定在數字末尾加個字母L,就表示是long型。
起始點可用數字表示為0,1,2,也可用宏名表示
起始點 名字 用數字代表
文件開始 SEEK_SET 0
文件當前位置 SEEK_CUR 1
文件末尾 SEEK_END 2
另外:fseek一般用於二進制文件,文本文件在字符替換的時候往往發生混亂。
例子:fseek(fp,100L,0);fseek(fp,30L,1);fseek(fp,-30L,SEEK_END);
fseek()的返回值為:
如果成功返回0值,失敗的話返回什麼書上沒說,網上也沒人說。以下是查到的英文解釋。看不懂啊!誰能說說
If successful, fseek and _fseeki64 returns 0. Otherwise, it returns a nonzero value. On devices incapable of seeking, the return value is undefined. If stream is a null pointer, or if origin is not one of allowed values described below, fseek and _fseeki64 invoke the invalid parameter handler, as described in Parameter Validation. If execution is allowed to continue, these functions set errno to EINVAL and return -1.
3.ftell(fp)如果成功返回當前文件指針的位置,返回值為long型。否則返回-1並設置全局變量errno指出錯誤類型。