C语言学习——与文件操作相关函数fread和fwrite

本文介绍了C语言中的fread和fwrite函数,用于二进制方式读写文件。fread和fwrite接受四个参数,包括数据缓冲区地址、数据大小、元素数量及文件指针。在使用过程中,注意检查返回值以判断是否成功读取或写入,当返回值小于期望值时,可能是因为错误或文件实际数据不足。通过示例展示了如何使用这两个函数进行文件操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二进制输入输出函数fread和fwrite



一、fread和fwrite是什么?

根据数据的组织形式,数据文件被称为文本文件或者二进制文件
数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件
而fwrite和fread函数就是用二进制的方式数据写入文件或者从文件中读取数据的函数

二、使用步骤

在使用之前 我们需要知道这两个函数的需要的参数和返回值是什么

fread函数的功能和定义如下

fread的功能:Reads data from a stream.
size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
  • 可以看出 fread的功能就是从一个文件里读取数据
    使用它需要四个参数

  • void * buffer 也就是想要把读取的数据到的地方的地址 比如一个叫做a的整形变量的地址 也就是&a 又或许是一个结构体对象 假设他叫s 那便是&s

  • size_t size 这就是接收数据的变量所占空间的大小 如果他是一个int类型 那就是sizeof(int)

  • size_t count写入数据的个数

  • FILE*stream 这是管理文件操作的指针 一般会在开始对文件开始操作前定义 这个指针会指向我们接下来要操作的文件

fread函数的功能和定义如下

fwrite的功能:Writes data to a stream.

size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

  • 可以看出 fwrite函数和fread函数的参数基本一致 但是fwrite函数指向的要写入的数据的指针是被const修饰的 这是为了安全考虑 防止在调用函数时改变数据的值

fwrite的返回值

Return Value
fwrite returns the number of full items actua
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值