前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C 库函数 - fread()

C 库函数 - fread()

作者头像
心跳包
发布2020-08-31 11:19:44
1.1K0
发布2020-08-31 11:19:44
举报

C 库函数 - fread()

C 标准库 - <stdio.h>

描述

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

声明

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

代码语言:javascript
复制
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() 函数的用法。

实例

代码语言:javascript
复制
#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() 函数来重置写指针到文件的开头,文件内容如下所示:

代码语言:javascript
复制
This is runoob
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C 库函数 - fread()
    • 描述
      • 声明
        • 参数
          • 返回值
            • 实例
              • 实例
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档