文件I/O

文件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.

你可能感兴趣的:(文件I/O)