专栏首页嵌入式智能硬件C 库函数 - fread()

C 库函数 - fread()

C 库函数 - fread()

C 标准库 - <stdio.h>

描述

C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 stream 读取数据到 ptr 所指向的数组中。

声明

下面是 fread() 函数的声明。

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

参数

  • ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。
  • size -- 这是要读取的每个元素的大小,以字节为单位。
  • nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
  • stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。

返回值

成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。

实例

下面的实例演示了 fread() 函数的用法。

实例

#include <stdio.h>
 #include <string.h>
 
 int main()
 {
    FILE *fp;
    char c[] = "This is runoob";
    char buffer[20];
 
    /* 打开文件用于读写 */
    fp = fopen("file.txt", "w+");
 
    /* 写入数据到文件 */
    fwrite(c, strlen(c) + 1, 1, fp);
 
    /* 查找文件的开头 */
    fseek(fp, 0, SEEK_SET);
 
    /* 读取并显示数据 */
    fread(buffer, strlen(c)+1, 1, fp);
    printf("%s\n", buffer);
    fclose(fp);
 
    return(0);
 }

让我们编译并运行上面的程序,这将创建一个文件 file.txt,然后写入内容 This is runoob。接下来我们使用 fseek() 函数来重置写指针到文件的开头,文件内容如下所示:

This is runoob

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • FreeRTOS三种数据结构区别(StreamBuffer,MessageBuffer,Queue)

    队列是任务间通信的最基础形式,也是最灵活的方式。操作系统中队列是以项(item)为基本单元。

    心跳包
  • 数据结构之树

    对于树中的每个节点X,它的左子树中所有的关键字值小于X的关键字,而它的右子树中所有的关键字值大于X的关键字值。

    心跳包
  • 【PMP】8.5早餐题

    1.公司有一个价值75000美元,为期一年的财务管理软件的固定总价合同。在项目的第11个月,项目已完成85%,项目成本为68000美元,客户要求公司执行额外的编...

    心跳包
  • C语言中size_t和size_type 的区别

    1)size_tsize_t是用于数组的下标值类型,也可以用来“接收”sizeof操作符的返回值。

    ccf19881030
  • [开发技巧]·AdaptivePooling与Max/AvgPooling相互转换

    自适应池化Adaptive Pooling是PyTorch的一种池化层,根据1D,2D,3D以及Max与Avg可分为六种形式。

    小宋是呢
  • 短视频商城源码,制作彩色验证码

    yunbaokeji柯基
  • 递归与分治之棋盘覆盖问题

    在一个2^k * 2^k个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘。 显然特殊方格在棋盘上出现的位置有4^...

    欠扁的小篮子
  • 55. 比较字符串

    比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母 样例 给出 A = "ABCD" B = "ACD",返回 tru...

    和蔼的zhxing
  • 使用TensorFlow创建能够图像重建的自编码器模型

    想象你正在解决一个拼图游戏。你已经完成了大部分。假设您需要在一幅几乎完成的图片中间修复一块。你需要从盒子里选择一块,它既适合空间,又能完成整个画面。

    deephub
  • 880.Decoded String at Index

    思路 用size表示在i处,字符串进行解码后的长度。 如果有一个解码后的字符串为appleappleappleappleappleapple,且K=24,那...

    平凡的学生族

扫码关注云+社区

领取腾讯云代金券