在tmp文件夹c语言Mac OS X中创建临时文件夹
如何在/tmp目录中创建临时文件夹。尝试该功能在tmp文件夹c语言Mac OS X中创建临时文件夹,c,macos,C,Macos,如何在/tmp目录中创建临时文件夹。尝试该功能 char *tmpdir; strcpy (template, "/tmp/myprog.XXXXXX"); tmpdir = mkdtemp (template); if (!tmpdir) { // Error out here } printf ("Temporary directory created : %s", tmpdir); 因为我还不能改变/改进别人的答案,所以我自己写了一个 我会使用stat和mkdir。例如: #
char *tmpdir;
strcpy (template, "/tmp/myprog.XXXXXX");
tmpdir = mkdtemp (template);
if (!tmpdir) {
// Error out here
}
printf ("Temporary directory created : %s", tmpdir);
因为我还不能改变/改进别人的答案,所以我自己写了一个 我会使用
stat
和mkdir
。例如:
#include <errno.h> // for errno
#include <stdio.h> // for printf
#include <stdlib.h> // for EXIT_*
#include <string.h> // for strerror
#include <sys/stat.h> // for stat and mkdir
int main() {
const char *mydir = "/tmp/mydir";
struct stat st;
if (stat(mydir, &st) == 0) {
printf("%s already exists\n", mydir);
return EXIT_SUCCESS;
}
if (mkdir(mydir, S_IRWXU|S_IRWXG) != 0) {
printf("Error creating directory: %s\n", strerror(errno));
return EXIT_FAILURE;
}
printf("%s successfully created\n", mydir);
return EXIT_SUCCESS;
}
\include//for errno
#包括//用于printf
#包含//以退出_*
#包括//用于strerror
#包括//用于stat和mkdir
int main(){
const char*mydir=“/tmp/mydir”;
结构统计;
if(stat(mydir,&st)==0){
printf(“%s已存在\n”,mydir);
返回退出成功;
}
if(mkdir(mydir,S|u IRWXU | S|u IRWXG)!=0){
printf(“创建目录时出错:%s\n”,strerror(errno));
返回退出失败;
}
printf(“%s已成功创建\n”,mydir);
返回退出成功;
}
“mkdtemp()函数从模板生成一个唯一命名的临时目录。模板的最后六个字符必须是XXXXXX,并且这些字符被替换为使目录名唯一的字符串。”--问题没有问这些字符specifications@Sev:也不丢弃。如果OP不关心唯一的命名,他仍然可以使用mkdir
。在我看来,启动一个只创建一个目录的过程有点夸张了。你会更新你的示例,将返回值分配给一个变量吗?我们明白这个想法,但OP可能不会(这里没有不尊重)。我发现关于mkdir
的问题也很重要。我看到你之前已经问过这个问题----你应该更新这个问题,而不是再发布一次。