Linux--系统IO接口调用

int open(char* pathfilename,int flag,mode_t mode)

flag:指定的打开方式 O_RDONLY 只读、O_WRONLY 只写、O_RDWR 可读可写 O_CREAT 文件不存在则创建、 O_APPEND 追加写 O_TRUNC 清空写

mode: 如果使用了O_CREAT,则一定要通过mode参数设置文件权限信息,并且需要考虑文件默认的创建权限掩码的因素

 

文件描述符: open返回的文件操作句柄,是一个非负整数, --- 操作文件原理,是因为这个整数时内核中,文件信息描述数组的下标,通过这个下标就能找到这个文件从而对它进行操作

分配规则:最小未使用

重定向原理:将原本要写入一个文件的数据,转而写入到另一个文件中(并不修改代码中其它信息),将这个描述符在文件描述数组中对应的文件描述信息,改变为另一个文件,则实现了操作相同的文件服,但是操作的文件不同

 

int dup2(int oldfd,int newfd)-----将newfd重定向到oldfd,让这两个描述符都操作oldfd所操作的文件

 

文件描述符与文件流指针:

文件描述符:系统调用io接口的操作句柄

文件流指针:标准库调用io接口的操作句柄,文件流指针是一个FILE结构体,这个结构体中就封装了文件描述符

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值