目录

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

描述 (Description)

C库函数size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)通过ptr将给定stream数据读入指向的数组。

声明 (Declaration)

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

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

参数 (Parameters)

  • ptr - 这是指向最小大小为size*nmemb字节的内存块的指针。

  • size - 这是要读取的每个元素的大小(以字节为单位)。

  • nmemb - 这是元素的数量,每个元素的大小都是字节size

  • stream - 这是指向输入流的FILE对象的指针。

返回值 (Return Value)

成功读取的元素总数将作为size_t对象返回,该对象是一种完整的数据类型。 如果此数字与nmemb参数不同,则表明发生了错误或达到了文件结尾。

例子 (Example)

以下示例显示了fread()函数的用法。

#include <stdio.h>
#include <string.h>
int main () {
   FILE *fp;
   char c[] = "this is iowiki";
   char buffer[100];
   /* Open file for both reading and writing */
   fp = fopen("file.txt", "w+");
   /* Write data to the file */
   fwrite(c, strlen(c) + 1, 1, fp);
   /* Seek to the beginning of the file */
   fseek(fp, 0, SEEK_SET);
   /* Read and display data */
   fread(buffer, strlen(c)+1, 1, fp);
   printf("%s\n", buffer);
   fclose(fp);
   return(0);
}

让我们编译并运行上面的程序,它将创建一个文件file.txt并编写一个内容, this is iowiki 。 之后,我们使用fseek()函数重置写入指向文件开头的指针,并准备文件内容,如下所示 -

this is iowiki
↑回到顶部↑
WIKI教程 @2018