32 lines
1.1 KiB
C
32 lines
1.1 KiB
C
|
#include <stdio.h>
|
|||
|
#include <sys/types.h>
|
|||
|
#include <sys/stat.h>
|
|||
|
#include <fcntl.h>
|
|||
|
#include <unistd.h> // close
|
|||
|
|
|||
|
int main(int argc, char const *argv[])
|
|||
|
{
|
|||
|
// 打开或创建一个文件,以只写方式打开,如果文件不存在则创建,如果文件已存在则报错
|
|||
|
// 权限设置为用户可读、用户可写、组可读和其他人可读
|
|||
|
int fd = open("test.txt", O_WRONLY | O_CREAT | O_EXCL | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
|||
|
if (fd < 0)
|
|||
|
{
|
|||
|
perror("open"); // 打印错误信息
|
|||
|
return -1; // 返回错误码
|
|||
|
}
|
|||
|
printf("打开并创建文件成功\n");
|
|||
|
if (close(fd) < 0)
|
|||
|
{
|
|||
|
perror("close"); // 打印错误信息
|
|||
|
return -1; // 返回错误码
|
|||
|
}
|
|||
|
|
|||
|
return 0; // 返回成功码
|
|||
|
}
|
|||
|
|
|||
|
/*
|
|||
|
文件以只写方式打开,如果文件不存在则创建,权限为 0644
|
|||
|
"trunc" 来源于英语单词 "truncate",意为 "截断" 或 "缩短"。
|
|||
|
int fd = open("d1_test.txt", O_WRONLY | O_CREAT | O_TRUNC, 0654);
|
|||
|
O_EXCL 用于创建文件时,如果文件已经存在,则报错 (保证文件的唯一性,原子性)
|
|||
|
*/
|