溫馨提示×

c語言文件指針如何移動

小億
242
2023-12-14 21:52:26
欄目: 編程語言

在C語言中,文件的指針可以通過使用fseek()函數(shù)來移動到文件中的特定位置。該函數(shù)的原型如下:

int fseek(FILE *stream, long int offset, int whence);

其中,stream是指向文件的指針,offset表示移動的偏移量,whence表示移動的起點。

whence參數(shù)可以取以下值:

  • SEEK_SET:從文件開頭開始移動
  • SEEK_CUR:從當(dāng)前位置開始移動
  • 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);

    // 獲取當(dāng)前位置
    long int position = ftell(file);
    printf("當(dāng)前位置:%ld\n", position);

    // 移動到文件開頭
    fseek(file, 0, SEEK_SET);

    // 移動到下一個字符位置
    fseek(file, 1, SEEK_CUR);

    // 獲取當(dāng)前位置
    position = ftell(file);
    printf("當(dāng)前位置:%ld\n", position);

    // 關(guān)閉文件
    fclose(file);

    return 0;
}

在上面的示例中,我們首先打開文件example.txt,然后將文件指針移動到文件末尾,輸出當(dāng)前位置。接著,我們將文件指針移動到文件開頭,再移動到下一個字符位置,最后再次輸出當(dāng)前位置。這樣可以看到文件指針的移動效果。

0