Chinaunix首页 | 论坛 | 博客
  • 博客访问: 378528
  • 博文数量: 73
  • 博客积分: 2620
  • 博客等级: 少校
  • 技术积分: 1212
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 10:47
文章分类
文章存档

2011年(18)

2010年(50)

2009年(5)

我的朋友

分类: LINUX

2010-01-12 20:36:41

/*注:本章I/O函数为不带缓存的系统调用*/
int open(const char* pathname, int oflag, .../*mode_t mode*/); 返回: 成功fd,错误-1
oflag:O_RDONLY,O_WDONLY,O_REWR;
O_APPEND,O_CREAT,O_EXCL,O_TRUNC,O_NOCTTY,O_NONBLOCK,O_SYNC;
 
int creat(const char* pathname, mode_t mode); 返回: 成功只写打开的fd,错误-1
<==>open(pathname, O_WRONLY | O_CREAT | O_TRUNC, mode);
 
int close(int filedes); 返回:成功0,错误-1
 
off_t lseek(int filedes, off_t offset, int whence); 返回:成功为新的文件位移,错误-1
whence:SEEK_SET,SEEK_CUR,SEEK_END
 
ssize_t read(int filedes, void* buf, size_t nbyte); 返回:读字节数,文件尾0,错误-1
 
ssize_t write(int filedes, void* buf, size_t nbyte); 返回:写字节数,错误-1
 
int dup(int filedes);
int dup2(int filedes, int filedes2); 返回:成功新的fd,错误-1
 
int fcntl(int filedes, int cmd, .../*int arg */); 返回:成功则依赖cmd,错误-1
cmd:F_DUPFD,F_GETFD,F_SETFD,F_GETFL,F_SETFL,F_GETOWN,F_SETOWN;
F_GETLK,F_SETLK,F_SETLKW
 
int ioctl(int filedes, int request, ...); 返回:错误-1,成功则为其他值
 
/dev/fd目录下为0,1,2等文件,打开文件/dev/fd/n等于复制已打开的描述符n
 
阅读(1033) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~