使用O_NONBLOCK方式打开设备文件
2015-12-28 16:58
218 查看
open函数
open函数用来打开或创建一个文件,若成功返回文件描述符,否则返回-1。
pathname是要打开或创建文件的名字。
oflag参数是下列一个或多个常量执行按位或运算的结果杀
O_RDONLY 只读打开
O_WRONLY 只写打开
O_RDWR 读写打开
上面三个常量必须指定一个并且只能指定一个,下面一些常量则是可选的:
O_APPEND 将写入追加到文件的尾端
O_CREAT 若文件不存在,则创建它。使用该选项时,需要第三个参数mode,用来指定新文件的访问权限位
O_EXCL 如果同时指定了O_CREAT,而文件已经存在,则会出错
O_TRUNC 如果此文件存在,而且为只写或读写模式成功打开,则将其长度截短为0
O_NOCTTY 如果pathname指的是终端设备,则不将该设备分配作为此进程的控制终端
O_NONBLOCK 如果pathname指的是一个FIFO文件、块设备文件或字符设备文件,则此选项将文件的本次打开操作和后续的I/O操作设置为非阻塞模式
#include <fcntl.h>int open(const char *pathname, int oflag, ... /* mode_t mode */);
open函数用来打开或创建一个文件,若成功返回文件描述符,否则返回-1。
pathname是要打开或创建文件的名字。
oflag参数是下列一个或多个常量执行按位或运算的结果杀
O_RDONLY 只读打开
O_WRONLY 只写打开
O_RDWR 读写打开
上面三个常量必须指定一个并且只能指定一个,下面一些常量则是可选的:
O_APPEND 将写入追加到文件的尾端
O_CREAT 若文件不存在,则创建它。使用该选项时,需要第三个参数mode,用来指定新文件的访问权限位
O_EXCL 如果同时指定了O_CREAT,而文件已经存在,则会出错
O_TRUNC 如果此文件存在,而且为只写或读写模式成功打开,则将其长度截短为0
O_NOCTTY 如果pathname指的是终端设备,则不将该设备分配作为此进程的控制终端
O_NONBLOCK 如果pathname指的是一个FIFO文件、块设备文件或字符设备文件,则此选项将文件的本次打开操作和后续的I/O操作设置为非阻塞模式
相关文章推荐
- Python进阶之路---1.2python版本差异
- 3.Ionic的项目结构
- git引用^和~的区别
- 声音控制流程图
- zzulioj--1777--和尚特烦恼3——何时能下山(水题)
- 判断有线网络连接的方式
- [LeetCode 316] Remove Duplicate Letters
- android的内部与外部存储目录
- hadoop-(1)集群安装及配置
- javascript面向对象
- zzulioj--1777--和尚特烦恼3——何时能下山(水题)
- 外接蓝牙开发流程
- 通过Safari浏览器获取iOS设备UDID(设备唯一标识符)
- iOS 通知的基本用法
- 【面试题】:统计一串字符串中仅出现一次的第一个字符
- RAID6磁盘阵列数据如何恢复
- HTML5:元素的属性
- Leetcode:Valid Sudoku
- JQuery 中的事件命名空间
- Anddroid 物流查询快递查询