C 语言标准库函数 - fread()

返回上一级

C 语言标准库 <stdio.h> 函数 size_t fread(void ptr, size_t size, size_t nmemb, FILE stream) 从给定流 stream 读取数据到 ptr 所指向的数组中

头文件

#include <stdio.h>

函数原型

下面是 fread() 函数的原型

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

参数

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

返回值

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

范例

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

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <stdio.h>
#include <string.h>

int main()
{
   FILE *fp;
   char c[] = "简单教程,简单编程\n";
   char buffer[20];

   /* 打开文件用于读写 */
   fp = fopen("demo.txt", "w+");

   /* 写入数据到文件 */
   fwrite(c, strlen(c) + 1, 1, fp);

   /* 查找文件的开头 */
   fseek(fp, SEEK_SET, 0);

   /* 读取并显示数据 */
   fread(buffer, strlen(c)+1, 1, fp);
   printf("%s\n", buffer);
   fclose(fp);

   return(0);
}

编译运行以上程序,将在当前目录下新建一个文件 demo.txt, 然后写入内容 简单教程,简单编程 。接下来使用 fseek() 函数来重置写指针到文件的开头。

demo.txt 文件内容如下所示

简单教程,简单编程

程序运行结果如下

$ gcc main.c && ./a.out
简单教程,简单编程

返回上一级

C 语言标准库

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.