fseek()函數是C語言中的文件操作函數,用于設置文件指針的位置。它的原型如下:
int fseek(FILE *stream, long offset, int origin);
其中,stream是指向要操作的文件的指針;offset是偏移量,指定相對于origin的位置;origin則指定偏移量的基準位置。函數返回值為0表示成功,非0表示失敗。
origin可以取以下值:
SEEK_SET:從文件開頭開始計算偏移量。
SEEK_CUR:從當前位置開始計算偏移量。
SEEK_END:從文件末尾開始計算偏移量。
使用fseek()函數可以實現以下功能:
定位文件指針到指定位置。
實現文件的隨機訪問,即可以在文件任意位置進行讀寫操作。
在文件中查找指定的位置。
例如,假設有一個名為file.txt的文件,我們可以使用fseek()函數將文件指針定位到文件的第10個字節處:
#include <stdio.h>
int main() {
FILE *fp = fopen("file.txt", "r");
if (fp == NULL) {
printf("文件打開失敗!\n");
return 1;
}
fseek(fp, 10, SEEK_SET); // 將文件指針定位到第10個字節處
// 其他操作
fclose(fp);
return 0;
}
需要注意的是,使用fseek()函數時要確保文件已經以相應的模式(例如"r"或"w")打開,否則會導致不可預料的結果。