理论教育 fread和fwrite函数详解C语言程序设计

fread和fwrite函数详解C语言程序设计

时间:2023-11-02 理论教育 版权反馈
【摘要】:若想快速读写文件内容,可以使用函数fread和fwrite。函数fread和fwrite适用于整块数据的读写。如果fread函数的返回值等于count,则执行本函数读取数据成功;如果文件结束或发生错误,则返回值为0。例10.5从键盘上输入100种产品的名称、编号、产量,使用fwrite函数将这些数据写入d:\produ.dat文件。

fread和fwrite函数详解C语言程序设计

若想快速读写文件内容,可以使用函数fread和fwrite。函数fread和fwrite适用于整块数据的读写(一般用于二进制文件的操作)。

1.读整块数据函数fread

fread函数的使用格式如下:

其中,buffer是内存中存放数据的存储空间的起始地址;size是数据块的大小(字节数);count是读的块数;fp是文件类型指针

fread函数的功能是从fp所指向的文件中读取数据块,读取的字节数为size×count,读取到的数据存放在buffer为起始地址的内存中。

如果fread函数的返回值等于count,则执行本函数读取数据成功;如果文件结束或发生错误,则返回值为0。

使用fread函数进行读操作时,要准备好接收数据的存储空间,一般存储空间的数据类型可以是数组或结构体变量等,buffer是数组或结构体变量的起始地址。

例如,若定义了“float s[100];”,则下面的语句:

表示从fp所指向的文件中读取4×100字节(即100个实数)存放于数组s中。

2.写整块数据函数fwrite函数

fwrite函数的使用格式如下:

其中,4个参数的含义与fread函数基本相同,但fwrite用于将数据从内存向文件中写,而fread用于从文件中读出数据向内存放。(www.daowen.com)

fwrite函数的功能是将内存中从buffer地址开始的数据向fp所指向的文件写,写入文件的字节数为size×count。如果fwrite函数的返回值等于count,则执行本函数写入数据成功,否则返回0。

使用fwrite函数进行写操作时,整块数据必须事先存放于数组或结构体变量中,buffer中的地址一般可以是数组或结构体变量的地址。

例如,执行下面的语句:

将内存中a数组的10个元素值(存放于4×10字节中)写入fp所指向的文件。

例10.5 从键盘上输入100种产品的名称、编号、产量,使用fwrite函数将这些数据写入d:\produ.dat文件。

【分析】可以使用结构体数组存放100种产品的名称、编号、产量,使用循环为数组元素赋值,再使用循环将数组元素值写入文件。

程序代码如下:

例10.6 从例10.5建立的d:\\produ.dat文件中读出所有产品的信息,并显示在屏幕上。最后,计算并输出所有产品的产量(amount)之和。

【分析】与例10.5一样,使用结构体数组。使用函数fread读出产品信息,存放到数组中,使用循环计算产量之和并输出。

程序代码如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈