【linux】文件IO

标准IO和文件IO的区别:
区别1:是否有缓冲机制。标准IO有缓冲(全缓冲、行缓冲、不缓冲),文件IO无缓冲。
区别2:函数的来源不同。标准IO来自于标准C库,文件IO来自于linux内核,系统调用。
区别3:两种IO操作文件的入口不一样。标准IO操作的文件入口是文件流,文件IO操作的文件入口是文件描述符。
区别4:标准IO是凌驾于所有操作系统之上的IO,直接用的C库函数,而文件IO是跟操作系统有关的,用系统调用。
库函数可以说是对系统调用的一种封装,使用库函数代码的移植性好。
不同操作系统的系统调用接口并不兼容,程序移植时工作量大。
1.系统调用
    系统调用对于应用程序最大的作用在于:
        以统一的形式,为应用程序提供了一组文件访问的抽象接口,应用程序不需要关心文件的具体类型,也不用关心其内部实现细节。
常用的系统调用IO函数有5个: open,close,read,write,ioctl,此外还有非系统调用IO函数lseek,系统调用IO都是不带缓冲的IO。

2.open/close函数
open()函数:用于创建一个新文件或打开一个已有文件,返回一个非负的文件描述符fd。
0、1、2为系统预定义的文件描述符fd一般是从3开始。
flags参数一般在O_RDONLY(只读打开)、O_WRONLY(只写打开)和O_RDWR(读、写打开)中只能选择一个作为

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值