温馨提示×

C语言fseek()函数的用法是什么

小亿
107
2023-12-02 00:04:40
栏目: 编程语言

fseek()函数是C语言中的文件操作函数之一,用于在文件中定位指针的位置。

函数原型:int fseek(FILE *stream, long int offset, int origin);

参数说明:

  • stream:指向FILE对象的指针,表示要操作的文件流。
  • offset:表示要移动指针的位置,可以是正数、负数或零。正数表示向文件末尾方向移动,负数表示向文件开头方向移动,零表示不移动。
  • origin:表示起始位置,可以是以下三个值之一:
    • SEEK_SET:从文件开头开始计算偏移量。
    • SEEK_CUR:从当前位置开始计算偏移量。
    • SEEK_END:从文件末尾开始计算偏移量。

返回值:

  • 成功时返回0,失败时返回非零值。

使用fseek()函数可以实现以下操作:

  1. 移动文件指针到指定位置。
  2. 在文件中进行随机访问。
  3. 修改文件中的内容。
  4. 截断文件长度。

注意事项:

  • 文件必须是以二进制方式打开的。
  • 文件指针的位置不能超出文件的范围。

示例代码:

#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 size = ftell(file);
    printf("文件长度:%ld\n", size);

    // 关闭文件
    fclose(file);

    return 0;
}

0