C库函数_linux中的系统io函数_学习笔记

C语言中的C库函数

linux中的系统io函数和C语言中的C库函数都是相对应的。
在这里插入图片描述
除了fopen和fclose之外,其余的C库函数都需要用到文件指针。

FILE *fp文件指针

FILE文件指针是一个结构体,文件描述符、文件读写位置指针、io缓冲区

文件描述符

文件描述符:用来索引对应的磁盘文件。
在这里插入图片描述

文件读写位置指针

文件在打开之后,会有一个文件指针,指向文件的起始位置(最开始的时候)。当写入一些数据之后,文件指针就会移动,写到哪,就移动到哪。
错误:文件打开之后,往里面写数据,紧接着就读数据,但是读不到,原因就是文件指针已经在文件末尾,当然读不到。
需要重置文件指针的位置。fseek重置。

io缓冲区*****不需要用户去关心

linux的系统函数,没有这个缓存,需要用户来提供。
在标准的C库函数中,都提供了对应的io缓冲区–保存了一块内存的地址。默认的大小是8kbit
为什么需要io缓冲区?为了减少对硬盘操作的次数。
getc每次读的字符都会先放到缓冲区里面,缓冲区满了之后,才会放到硬盘里面。
在这里插入图片描述
硬盘的读写比内存慢多了,低一百万倍。
在这里插入图片描述

缓存区的数据存入硬盘的情况

fflush将缓存区的数据写到硬盘上。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值