C语言 fseek() 函数详解及示例:文件指针操作

fseek() 函数 用于设置文件指针的位置,以便在文件中进行读写操作。

函数原型:

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

参数说明:

  • stream: 指向文件的指针。
  • offset: 偏移量,表示从起始位置移动的字节数。
  • whence: 起始位置,可以取以下值:
    • SEEK_SET: 文件开头
    • SEEK_CUR: 当前位置
    • SEEK_END: 文件末尾

示例代码:

#include <stdio.h>

int main() {
    FILE *fp;
    char ch;

    // 打开文件
    fp = fopen("file.txt", "r");

    // 将文件指针移动到文件末尾
    fseek(fp, 0, SEEK_END);

    // 从文件末尾开始逐个读取字符,并输出到屏幕上
    while ((ch = fgetc(fp)) != EOF) {
        putchar(ch);
    }

    // 关闭文件
    fclose(fp);

    return 0;
}

代码说明:

  1. 使用 fopen() 函数打开名为 file.txt 的文件,以只读模式打开 ("r")。
  2. 使用 fseek() 函数将文件指针移动到文件末尾,offset 为 0,whenceSEEK_END
  3. 使用 fgetc() 函数从文件末尾开始逐个读取字符,直到遇到文件结束符 (EOF)。
  4. 使用 putchar() 函数将读取到的字符输出到屏幕上。
  5. 最后,使用 fclose() 函数关闭文件。

总结:

本示例演示了如何使用 fseek() 函数将文件指针移动到文件末尾,并从末尾开始读取字符。通过设置不同的 offsetwhence 值,可以将文件指针移动到文件中的任何位置。

注意:

  • fseek() 函数可能会失败,例如当文件指针指向的位置不在文件范围内时。
  • 使用 fseek() 函数时,需要确保文件是可读写的。
  • 在使用 fseek() 函数之前,建议使用 ftell() 函数获取当前文件指针的位置。

希望本篇文章能够帮助您更好地理解 fseek() 函数的用法。

C语言 fseek() 函数详解及示例:文件指针操作

原文地址: https://www.cveoy.top/t/topic/fN1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录