【Linux学习笔记30】标准IO的核心API

引言

这篇笔记类似与之前的系统IO的核心API介绍,虽然不是很详细地说清楚每个函数的作用,但还是会讲清楚函数的使用以及区别。
本篇主要介绍:fgetc/getc/getchar函数与fputc/putc/putchar
feof/ferror 、fgets/gets与/fputs/puts、fread/fwrite等函数

fgetc/getc/getchar函数

这一组函数的功能都是读数据,每一次读一个字符来读文件。
在这里插入图片描述

fputs/putc/putchar函数

这个与上面的函数对应,这一组函数以每一次写一个字符来写入数据。
那么为了更好的举例子,就使用这两组函数来制作一个复制功能程序。
在这里插入图片描述


fges/gets与/fputs/puts函数

这一组函数是以每次一行行来读/写文件
fgets与fputs的工作原理:
在这里插入图片描述

  • 可以从图中看到,如果buf的大小为100那么,每次读取的数据大小只有99字节,因为fgets会自动在后面添加\0。同理在写入数据的时候,fputs也会自动消除这个\0。
  • 因此这就是为什么上面两组的读写函数不能混着用的原因。

在这里插入图片描述

fread/fwrite函数

这一组函数是以每次以块单位来读/写文件
那么如果遇到比缓冲区大或者比缓冲区小的数据,这组函数是怎么工作呢?
在这里插入图片描述
由上图可以掌握规律就是,fread返回的数据都是不带小数的。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值