学习了apue ,记录下,方便以后继续学习。
int open(const char*pathname, int oflag,.../*, mode_t mode * / ) ;
//成功返回文件描述符,错误返回-1
//oflag 如下,定义在 fcntl.h
//O_RDONLY 只读打开
//O_WRONLY 只写打开
//O_RDWR 读写打开
//
//O_APPEND 追加
//
//O_CREAT 若文件不存在则创建 需指定mode
//S_IRUSR 用户-读
//S_IWUSR 用户-写
//S_IXUSR 用户-执行
//S_IRGRP 组-读
//S_IWGRP 组-写
//S_IXGRP 组-执行
//S_IROTH 其他-读
//S_IWOTH 其他-写
//S_IXOTH 其他-执行
//
//O_EXCL 如果指定了O_CREAT ,并且文件存在 则出错,他使创建文档成为原子操作
//
//O_TRUNC 如果文件存在 并且只读只写 打开 则将文件长度截断为0
int creat(const char *pathname,mode_t mode)
//成功返回文件描述符 出错返回-1
//他和 open(const char*pathname, O_RDWR|O_CREAT|O_EXCL,mode)等效
int close(int filedes);
//关闭文件描述符,当程序结束,系统会自动调用
off_t lseek(int filedes, off_t offset, int whence);
//成功返回为新的文件位移,出错返回-1
//whence
//SEEK_SET 起始为文件开头
//SEEK_CUR 当前位移
//SEEK_END 文件末尾
//位移大于文件长度会产生文件空洞
ssize_t read(int filedes,void *buff,size_t nbytes);
//成功返回读取的字节数,已到文件尾为0 出错-1
ssize_t write(int filedes,const void *buff,size_t nbytes);
//成功返回写入的字节数 出错-1