creat()
函数是一个用于创建新文件的系统调用函数。它的原型如下:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int creat(const char *pathname, mode_t mode);
creat()
函数接受两个参数:
-
pathname
:一个字符串,表示要创建的文件的路径名。 -
mode
:一个表示文件权限的模式参数,通常以八进制表示。可以使用以下宏定义来指定文件权限:S_IRUSR
:用户读权限S_IWUSR
:用户写权限S_IXUSR
:用户执行权限S_IRGRP
:组读权限S_IWGRP
:组写权限S_IXGRP
:组执行权限S_IROTH
:其他用户读权限S_IWOTH
:其他用户写权限S_IXOTH
:其他用户执行权限
creat()
函数返回一个整数值,即文件描述符(file descriptor)。如果创建文件失败,将返回 -1,并且可以通过检查错误号(errno
)来获得具体的错误信息。
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
int main() {
const char* filename = "example.txt";
int fd = creat(filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
// 使用creat函数创建一个新文件,并设置文件权限为用户可读、用户可写、组只读、其他用户只读
if (fd == -1) {
perror("Failed to create file"); // 打印错误信息
return 1;
} else {
printf("File created successfully\n"); // 文件创建成功的提示信息
// 在此处进行其他对文件的操作
close(fd); // 关闭文件描述符
return 0;
}
}
20230811