两种方式:
1.系统调用
2.C函数库
系统调用
1.创建
2.打开
flag:
O_RDONLY 只读方式打开
O_WRONLY 只写方式打开
O_RDWR 读写方式打开
O_APPEND 追加方式打开
O_CREAT 创建一个文件-->flag为O_CREAT时第三个参数有效
O_NOBLOCK非阻塞方式打开
3.关闭
4.读
从fd所指定的文件中读取length个字节到buf所指向的缓冲区
返回实际读取的字节数
5.写
把buf中的length个字节写入fd所指向的文件
返回实际写入的字节数
6.定位
将文件指针相对whence移动offset个字节
返回文件指针相对于文件头的位置
whence的值:
SEEK_SET 相对文件爱你开头
SEEK_CUR 相对当前位置
SEEK_END 相对文件末尾
7.访问权限判断
mode
R_OK 可读
W_OK 可写
X_OK 可执行
F_OK 文件存在
成功返回0,失败返回-1
1.系统调用
2.C函数库
系统调用
1.创建
int creat(const char *filename, mode_t mode)
creat(hello, 0775)
2.打开
int open(const char *pathname, int flag)
int open(const char *pathname, int flag, mode_t mode)
flag:
O_RDONLY 只读方式打开
O_WRONLY 只写方式打开
O_RDWR 读写方式打开
O_APPEND 追加方式打开
O_CREAT 创建一个文件-->flag为O_CREAT时第三个参数有效
O_NOBLOCK非阻塞方式打开
int fd=open(filename, O_CREAT||O_RDWR, 0775);
3.关闭
int close(int fd)
4.读
从fd所指定的文件中读取length个字节到buf所指向的缓冲区
返回实际读取的字节数
int read(int fd, const void *buff, size_t length)
5.写
把buf中的length个字节写入fd所指向的文件
返回实际写入的字节数
int write(int fd, const void *buff, size_t length)
6.定位
将文件指针相对whence移动offset个字节
返回文件指针相对于文件头的位置
int lseek(int fd, offset_t offset, int whence)
whence的值:
SEEK_SET 相对文件爱你开头
SEEK_CUR 相对当前位置
SEEK_END 相对文件末尾
lseek(fd, -5, SEEK_CUR)
7.访问权限判断
int access(cont char *pathname, int mode)
mode
R_OK 可读
W_OK 可写
X_OK 可执行
F_OK 文件存在
成功返回0,失败返回-1