linux fcntl

fcntl

 可以重新设置读,写,追加,非阻塞等标志(File Status Flag),而不必open文件;

int fcntl(int fd, int cmd);

int fcntl(int fd, int cmd, long arg);

int fcntl(int fd, int cmd, struct flock *lock);

头文件 include <unistd.h>  include <fcntl.h>;

cmd:以F_GETFL (获取)和 F_SETFL(设置)为例; 

int flags = fcntl(STDIN_FILENO, F_GETFL);

flags |= O_NONBLOCK;(非阻塞);

int val = fcntl(atoi(argv[1], F_GETFL));

val & O_ACCMODE(访问权限);

通过fcntl设置当前进程如何访问设备或文件都访问控制属性,如读,写,追加,非阻塞,加锁等,但并不设置文件或设备本身都属性,如文件的读写权限,串口波特率等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值