C语言 标准IO fread()

在 C 语言中,fread 是用于从文件中读取二进制数据的函数之一。它属于标准 I/O 类型的函数,用于读取指定数量的元素到内存中。fread 函数的原型如下:

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

fread 函数接受四个参数:

  • ptr:指向接收数据的内存块的指针。
  • size:要读取的每个元素的字节数。
  • count:要读取的元素的数量。
  • stream:指向要读取的文件的指针。

  fread 函数将根据指定的 size 和 count 参数从文件中读取 size * count 字节的数据,然后将其存储到指定的内存块中。成功读取后,它返回实际读取的元素数量(通常等于 count),如果发生错误或到达文件末尾,则返回一个小于 count 的值(最后一次读取是count向下取整)。

#include <stdio.h>

int main()
{
    FILE *fp = fopen("./test.txt", "r");
    if (fp == (FILE *)NULL)
    {
        perror("打开文件失败!");
        return -1;
    }

    char buf[100] = "\0";

    int fread_ret;
    int x = ftell(fp);
    fread_ret = fread(buf, 3, 3, fp);
    int y = ftell(fp);
    printf("%d\n",y-x);
    printf("%d\n",y);
    printf("%d\n",x);

    printf("buf:%s----块数:%d\n", buf, fread_ret);

    if (fclose(fp) == -1)
    {
        perror("关闭文件失败!");
        return -1;
    }

    return 0;
}

fread 函数常用于读取二进制文件中的数据,例如读取图像、音频、视频等。请确保正确设置 size 和 count 参数,以确保准确读取所需的字节数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值