【发布时间】:2015-01-08 17:17:06
【问题描述】:
我正在尝试在 C 中创建一组数字目录。但不起作用...我希望看到:
\Directory 0
\Directory 1
.
.
.
\Directory 99
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <sys/stat.h>
int main(void)
{
char istring[80];
for (n = 0; n < 100; n++)
{
sprintf(istring, "Directory %i", n);
mkdir(istring);
}
}
是的,我知道该目录将/应该在本地创建,但事实并非如此。我也在c盘搜索了“\Directory n”目录,但是没有。
使用:
sprintf(istring, "\\Directory %i", n);
不在根目录中创建目录。
为了检查权限,我试过这个:
mkdir("Directory n");
创建本地目录\Directory n。所以我假设我有足够的特权。
还有其他想法吗?
【问题讨论】:
-
为什么不起作用?
-
您是否尝试过在 IDE 的调试器中设置断点和单步执行?您是否检查了您调用的系统函数的返回值?例如 mkdri() 返回一些非常具体的信息,说明它失败的原因 - 它可能比我们能告诉你的更多;-) 对于 GNU,请参阅gnu.org/software/libc/manual/html_node/…,对于其他人,例如 Windows,请参阅您的相关文档
-
无法重现。您的程序无法编译(IMO 使整个问题无效),但是在修复了明显的错误之后,它可以按您的意图工作,并且我在运行它的文件夹中获得了 100 个新文件夹。
-
对不起,这是我的第一篇文章。我将确保我只发布一个我编译了代码的问题,而不仅仅是一点点。对不起。 R
-
嗯,让它正常工作后是否工作?它对我有用,所以你的问题是“不可重现的”。