文件I/O
1. open函数
int open(const char* path,int oflag)
oflag参数包括O_RDONLY,O_WRONLY,O_RDWR,O_EXEC,O_SEARCH
2. lseek函数
off_t lseek(int fd,off_t offset,int whence)
每个打开文件都有一个与其相关联的”当前文件偏移量”
whence参数包括SEEK_SET设置当期偏移量,SEEK_CUR加上当前偏移量,SEEK_END加上文件长度。
3. read函数
ssize_t read(int fd,void *buf, size_tnbytes)
4. write函数
ssize_t write(int fd,const void *buf,size_t nbytes)
5. dup函数和dup2函数
这两个函数都可以用来复制现有的描述符,dup返回当前最小的fd,dup2通过制定dup2返回fd2.
int dup(fd)
int dup(fd,fd2)
6. fcntl函数
int fctnl(int fd,int cmd,…)可以改变已经打开文件的属性
fcntl函数有5中功能
复制一个已有的描述符,cmd=F_DUPFD,F_DUPFD_CLOEXEC
获取/设置文件描述符标志,cmd=F_GETFD,F_SETFD
获取/设置文件状态标志,cmd=F_GETFL,F_SETFL
获取/设置异步I/O所有权,cmd=F_GETOWN,F_SETOWN.
获取/设置记录锁,cmd=F_GETLK,F_SETTLK,F_SETLKW.