函數名: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; }
程序運行前截圖:
************************************************************************************************************************
****************************************************************************
程序運行后截圖:
****************************************************************************
***********************************************************************************