C语言 fread() 和 fseek() 函数详解及示例

fread() 函数

fread() 函数用于从文件中读取数据。它的原型如下:

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

参数说明:

  • ptr: 指向要存储读取数据的内存块的指针。
  • size: 每个数据项的字节数。
  • count: 要读取的数据项的个数。
  • stream: 指向 FILE 对象的指针,它指定了要读取的文件。

示例:

#include <stdio.h>

int main() {
    FILE *fp;
    char buffer[100];

    fp = fopen("example.txt", "rb"); // 打开文件
    if (fp == NULL) {
        printf("文件打开失败\n");
        return 1;
    }

    fread(buffer, sizeof(char), 10, fp); // 从文件中读取10个字符
    printf("读取的内容:%s\n", buffer);

    fclose(fp); // 关闭文件

    return 0;
}

fseek() 函数

fseek() 函数用于在文件中定位到指定的位置。它的原型如下:

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

参数说明:

  • stream: 指向 FILE 对象的指针,它指定了要定位的文件。
  • offset: 要移动的字节数。
  • origin: 指定了起始位置,可以是以下值之一:
    • SEEK_SET: 从文件开头开始计算偏移量。
    • SEEK_CUR: 从当前位置开始计算偏移量。
    • SEEK_END: 从文件末尾开始计算偏移量。

示例:

#include <stdio.h>

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

    fp = fopen("example.txt", "r"); // 打开文件
    if (fp == NULL) {
        printf("文件打开失败\n");
        return 1;
    }

    fseek(fp, 5, SEEK_SET); // 从文件开头向后移动5个字节
    ch = fgetc(fp); // 读取当前位置的字符
    printf("读取的字符:%c\n", ch);

    fclose(fp); // 关闭文件

    return 0;
}

总结:

fread() 函数用于从文件中读取数据,而 fseek() 函数用于在文件中定位到指定的位置。这两个函数在文件操作中非常常用。

注意:

  • 在使用 fread()fseek() 函数之前,需要先使用 fopen() 函数打开文件。
  • 使用完文件后,需要使用 fclose() 函数关闭文件。
  • 在使用 fseek() 函数时,需要根据实际情况选择合适的 origin 值。
  • fseek()函数成功返回0,失败返回非0值。
C语言 fread() 和 fseek() 函数详解及示例

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

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