学习目标:
Linux编程基础
学习内容:
2.1:Linux文件系统与操作:
- 掌握open,read,write,lseek,close函数
- 应用以上函数并在ubantu里code blocks实行成功案例一
open
#include <fcntl.h>
int open(const char *pathname, int flags[, mode_t mode);
*pathname:待打开文件的文件路径名
flags:访问模式:
– O_RDONLY:只读
– O_WRONLY: 只写
– O_RDWR: 读写
– O_CREAT: 创建一个文件并打开
– O_EXCL: 测试文件是否存在,不存在则创建
– O_TRUNC: 以只写或读写方式成功打开文件时,将文件长度截断为0
– O_APPEND: 以追加方式打开文件
只有第二个参数flags = O_CREAT,第三个参数才会被用于设置新文件的权限,取值如下:
S_IRWXU: 文件所有者,读、写、执行
S_IRUSR: 文件所有者,读
S_IWUSR: 文件所有者,写
S_IXUSR: 文件所有者,执行
S_IRWXG: 文件所属组,读、写、执行
S_IRGRP: 文件所属组,读
S_IWGRP: 文件所属组,写
S_IXGRP: 文件所属组,执行
S_IRWXO: 其他人,读、写、执行
S_IROTH: 其他人,读
S_IWOTH: 其他人,写
S_IXOTH: 其他人,执行
返回值说明:
调用成功,返回一个文件描述符
不成功,返回
write
#include <unistd.h>
ssize_t write(int fd, void *buf, size_t count);
read
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
lseek
#include <unistd.h>
ssize_t write(int fd, off_t offset, int whence);
close
#include <unistd.h>
int close(int fd);