创建一个目录

时间:2011-07-14 21:34:06

标签: c

我正在尝试使用以下代码创建目录。它编译,但它不会创建目录。有什么建议吗?

#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;
}

2 个答案:

答案 0 :(得分:2)

“filename”目录是否已存在? mkdir()一次只能创建一个目录;如果父目录也不存在,则必须先单独创建它。

答案 1 :(得分:1)

很可能它无法创建目录,因为您尝试创建嵌套目录并且其父级不存在。 mkdir无法递归创建目录。但除非您正确检查程序中的返回代码和错误,否则您只能猜测。