C 语言 Fread() 函数

28 Aug 2024 | 5 分钟阅读

在本文中,我们将讨论C语言中的fread()函数,包括其语法和示例。

C语言的fread()函数用于从文件中读取数据并将其存储在缓冲区中。fread()函数从作为函数参数提供的输入流中读取对象,并将它们存入一个数组缓冲区。读取数据的字符函数会前进指定输入流的文件位置指示器。

C语言中fread()函数语法

C语言中fread()方法的语法如下:

size_tfread(void * array_buffer, size_t size, size_t count, FILE * file_strea)

C语言中fread()函数的参数

fread()函数接收多个参数。让我们分别仔细看看这些变量:

array_buffer

使用缓冲区可以将数据临时存储在计算机内存中。从输入流读取的数据将保存在缓冲区中,该缓冲区由指向缓冲区内存位置的指针(此参数)指定。

大小

此参数指定要从输入流中读取的每个块的大小(以字节为单位)。

count

count参数确定将从数据输入流读取字符数

file_stream

这是一个指向FILE对象指针,将从中读取数据,然后将其放置在arraybuffer指定的地址。

C语言中fread()函数的返回值

函数调用成功完成时,C语言中的fread()函数返回一个整数值,表示已读取的元素总数(count)。如果没有错误或遇到了EOF(其值为-1,表示输入结束),则fread()函数返回一个小于count的整数值。

示例

让我们来看一个示例,了解如何使用fread()方法从文件中读取输入

输出

Data read from the file: Hello, World! This is a test.
Number of elements read: 31

fread()函数的作用是什么?

C语言中的fread()函数fwrite()函数的补充。fread()函数输入文件流读取一个数据块。该函数从指定的输入流中读取count个元素,每个元素的大小为bytes。函数在成功操作时返回小于count的数字或等于count的整数值。读取内容的字符函数会前进指定输入流的文件位置指示器。

附加情况

C语言中的fread()函数有几种附加情况。其中一些如下:

从文件中读取一个整数

现在,我们来看一个程序,了解如何使用C语言的fread()函数从文件中读取字符串。举个例子,我们从文件中读取一个整数值。

输出

Integer read from the file: 42

说明

  • 在此示例中,程序从二进制文件“integer_data.bin”中读取一个整数值。
  • 之后,从文件中读取的整数42将显示在屏幕上。

从文件中读取多个值

使用C语言的fread()函数可以从包含多行数据的文件中读取数据

示例

现在,我们来看一个程序,了解如何使用C语言的fread()函数从文件中读取多个值。

输出

Text read from the file:
This is a sample text file.
Number of elements read: 27

解释

  • 在此示例中,程序从文本文件“text_data.txt”中读取文本数据
  • 该文本文件的内容为短语“This is a sample text file”。
  • “读取的元素数量”的值为27,这表明已成功从文件中读取了27个字符(包括空格)并将其放入了缓冲区。

结论

  • fread()函数用于从文件中读取数据并将其放入缓冲区。
  • 该函数从指定的输入流中读取count个元素,每个元素的大小为bytes
  • fread()函数有四个可能的参数值。
  • 函数在成功操作时返回小于count的数字或等于count的整数值