2、open:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
参数:
pathname: 路径 + 文件名
flags: 打开方式
O_RDONLY: 只读打开
O_WRONLY: 只写打开
O_RDWR: 可读写打开
O_CREAT: 当文件不存在时创建文件,此时需要第三个参数mode
O_TRUNC: 当文件存在时清空文件内容
O_APPEND: 追加打开
mode: 创建的文件的权限,一般0664
返回值:
成功: 文件描述符(非负整数)
失败: -1, 并设置errno
close: 关闭文件描述符
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
//int fd = open("1.txt", O_RDONLY); //"r"
int fd = open("1.txt", O_WRONLY|O_CREAT|O_TRUNC, 0664); //"w"
if (fd < 0)
{
perror("open");
return -1;
}
printf("fd = %d\n", fd);
close(fd);
return 0;
}