【发布时间】:2011-07-14 21:34:05
【问题描述】:
我正在尝试使用以下代码创建目录。它会编译,但不会创建目录。有什么建议吗?
#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;
}
【问题讨论】:
-
为什么不捕获 mkdir 的返回码? linux.die.net/man/3/mkdir
-
检查
mkdir是否返回-1以及errno的值。 -
确实如此。尝试询问它为什么不起作用!
if (mkdir(filename, S_IRWXU) != 0) { perror("mkdir() error"); }. -
@hari:请不要发布指向
die.net的链接。这个网站是一个糟糕的地方,信息过时,由于搜索引擎优化,这些信息首先出现在谷歌搜索结果中。使用 kernel.org - kernel.org/doc/man-pages/online/pages/man2/mkdir.2.html -
我的错。谢谢你告诉我。
标签: c