我正在尝试使用以下代码创建目录。它编译,但它不会创建目录。有什么建议吗?
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
int main(void)
{
const char base[] = "filename";
char filename [ FILENAME_MAX ];
int number = 42;
sprintf(filename, "%s/%d", base, number);
printf("filename = \"%s\"\n", filename);
mkdir (filename, S_IRWXU);
return 0;
}
答案 0 :(得分:2)
“filename”目录是否已存在? mkdir()
一次只能创建一个目录;如果父目录也不存在,则必须先单独创建它。
答案 1 :(得分:1)
很可能它无法创建目录,因为您尝试创建嵌套目录并且其父级不存在。 mkdir
无法递归创建目录。但除非您正确检查程序中的返回代码和错误,否则您只能猜测。