C中的fseek函數使用


函數名:fseek函數

頭文件:#include<stdio.h>

功能:把與fp有關的文件位置指針放到一個指定位置

格式:  int fseek(FILE *stream, long offset, int fromwhere);
范例一:fseek(fp, 0L, SEEK_END);
解釋:文件指針定位到文件末尾,偏移0個字節

范例二:  fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);

解釋:其作用是將位置指針移到離文件頭50個字節處。

 
起始點 對應的數字 代表的文件位置
SEEK_SET 0 文件開頭
SEEK_CUR 1 文件當前位置
SEEK_END 2 文件末尾

說明:

       offset:偏移量
       fromwhere:起始位置

      其中,“位移量”是long型數據,它表示位置指針相對於“起始點”移動的字節數。

      如果位移量是一個正數,表示從“起始點”開始往文件尾方向移動;

      如果位移量是一個負數,則表示從“起始點”開始往文件頭方向移動。

     “起始點”不能任意設定,它只能是在stdio.h中定義的三個符號常量之一:

注意:  

      fseek函數的文件指針,應該為已經打開的文件。如果沒有打開的文件,那么將會出現錯誤。

以上內容來自網絡上資料,整理結果。

下面請看例題:

例題代碼:

 

#include <stdio.h> #include <stdlib.h>//fseek函數調用
int main() { // 開始文件中的內容為aaaaaaaaa
    FILE * fp = fopen("a.txt", "r+"); if (fp == NULL) { printf("file error\n"); exit(1); } fseek(fp, 2, SEEK_SET);//光標移到文件開始起第二個字節處。
    fwrite("yun", 1, 3, fp); //文件內寫入內容yun
 fclose(fp); return 0; }

 

 

程序運行前截圖:

************************************************************************************************************************

 

 

****************************************************************************

程序運行后截圖:

****************************************************************************

 

 

 

***********************************************************************************


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM