我正在尝试使用以下代码创建一个目录。它会编译,但不会创建目录。有什么建议吗?
#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;
}
发布于 2011-07-14 21:35:58
"filename“目录已经存在了吗?mkdir()
一次只会创建一个目录;如果父目录也不存在,你必须先单独创建它。
发布于 2011-07-14 21:36:19
它很可能无法创建目录,因为您正在尝试创建一个嵌套目录,而它的父目录不存在。mkdir
无法以递归方式创建目录。但是,除非您正确检查程序中的返回代码和错误,否则您只能猜测。
https://stackoverflow.com/questions/6700185
复制