在C語言中,文件的指針可以通過使用fseek()
函數來移動到文件中的特定位置。該函數的原型如下:
int fseek(FILE *stream, long int offset, int whence);
其中,stream
是指向文件的指針,offset
表示移動的偏移量,whence
表示移動的起點。
whence
參數可以取以下值:
SEEK_SET
:從文件開頭開始移動SEEK_CUR
:從當前位置開始移動SEEK_END
:從文件末尾開始移動下面是幾個示例:
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("無法打開文件。\n");
return 1;
}
// 移動到文件末尾
fseek(file, 0, SEEK_END);
// 獲取當前位置
long int position = ftell(file);
printf("當前位置:%ld\n", position);
// 移動到文件開頭
fseek(file, 0, SEEK_SET);
// 移動到下一個字符位置
fseek(file, 1, SEEK_CUR);
// 獲取當前位置
position = ftell(file);
printf("當前位置:%ld\n", position);
// 關閉文件
fclose(file);
return 0;
}
在上面的示例中,我們首先打開文件example.txt
,然后將文件指針移動到文件末尾,輸出當前位置。接著,我們將文件指針移動到文件開頭,再移動到下一個字符位置,最后再次輸出當前位置。這樣可以看到文件指針的移動效果。