C语言库函数文件操作(fread、fwrite、feof)

fread

函数名称:fread

函数功能: 从一个流中读数据

函数原型: size_t fread(void* buffer, size_t size, size_t count, FILE* stream); 

参数说明:

  1. buffer:用于接收数据的地址(指针)。
  2. size:单个元素的大小,单位是字节而不是位,例如读取一个int型数据就是4个字节。
  3. count:元素个数。
  4. stream:提供数据的文件指针。

返回值:读取的元素的个数。

fwrite

函数名称:fwrite

函数功能:向文件读入写入一个数据块

函数原型:size_t fwrite(void* buffer, size_t size, size_t count, FILE* stream); 

参数说明:

  1. buffer:是一个指针,对fwrite来说,是要输出数据的地址。
  2. size:单个元素的大小,单位是字节而不是位,例如读取一个int型数据就是4个字节。
  3. count:要写入的元素个数。
  4. stream:目标文件指针。

返回值:返回实际写入元素的个数。

注意:这个函数以二进制形式对文件进行操作,不局限于文本文件。

说明:写入到文件的哪里? 这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大,而且是fseek函数对此函数没有作用。

feof

函数名称:feof

函数功能:检测流上的文件结束符。

                    Checks whether the End-of-File indicator associated with stream is set, returning a value different from zero if it is.
                    This indicator is generally set by a previous operation on the stream that reached the End-of-File.
                    Further operations on the stream once the End-of-File has been reached will fail until either rewind, fseek or fsetpos is successfully called to set the position indicator to a new value.

函数原型:int feof ( FILE * stream );

feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。

feof函数与EOF?

EOF是文本文件结束的标志。在文本文件中,数据是以字符的ASCⅡ代码值的形式存放,普通字符的ASCⅡ代码的范围是32到127(十进制),EOF的16进制代码为0x1A(十进制为26),因此可以用EOF作为文件结束标志。

当把数据以二进制形式存放到文件中时,就会有-1值的出现,因此不能采用EOF作为二进制文件的结束标志。为解决这一个问题,ASCI C提供一个feof函数,用来判断文件是否结束。feof函数既可用以判断二进制文件又可用以判断文本文件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值