📅  最后修改于: 2023-12-03 14:44:19.358000             🧑  作者: Mango
mkstemp()
函数是一个用于创建唯一临时文件的系统调用函数,它会在指定的目录下创建并打开一个临时文件,返回该文件的文件描述符和文件名。
#include <unistd.h>
int mkstemp(char *template);
其中,template
为文件名的格式字符串,必须以6个连续的X结束,例如,“/tmp/tmpfileXXXXXX”。
下面是一个简单的使用 mkstemp()
函数创建临时文件的示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
char tmp_file_name[] = "/tmp/tmpfileXXXXXX";
int fd = mkstemp(tmp_file_name);
if (fd == -1)
{
perror("Failed to create temporary file");
exit(EXIT_FAILURE);
}
printf("Successfully created temporary file: %s\n", tmp_file_name);
close(fd);
return 0;
}
在该示例代码中,首先我们定义了一个临时文件名格式字符串,并传递给 mkstemp()
函数创建文件。如果创建文件失败,会打印一条错误信息并退出程序;否则,会输出成功创建的临时文件名,并关闭文件描述符。
需要注意的是,由于 mkstemp()
函数创建的文件名可以被其他进程访问,因此在使用完毕后,我们需要仔细考虑该文件的安全性,尤其是对于敏感数据的临时文件,需要确保其被正确地销毁。