温馨提示×

c语言文件指针如何移动

小亿
130
2023-12-14 21:52:26
栏目: 编程语言

在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,然后将文件指针移动到文件末尾,输出当前位置。接着,我们将文件指针移动到文件开头,再移动到下一个字符位置,最后再次输出当前位置。这样可以看到文件指针的移动效果。

0