创建一个目录

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

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

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

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