【发布时间】:2016-02-23 14:43:36
【问题描述】:
我正在尝试创建一个函数,该函数将创建一个用于程序的目录,但当该目录已经存在时会很好地失败。我现在在做
if (mkdir(path, RW)<0)
{
error out and return
}
我的问题是 mkdir 对于我认为的“真正的错误”(没有访问权限、没有空间等)以及已经存在的目录返回 -1。除了目录已经存在之外,我确实想在每个错误情况下都出错。有什么建议吗?
【问题讨论】:
-
你应该看到
man errno(man7.org/linux/man-pages/man3/errno.3.html)。在linux.die.net/man/3/mkdir,可以看到返回值。如果有错误将为 -1 并设置errno。 -
你应该统计路径,看看是否返回成功。需要注意的一件事是路径已经存在,但它是文件而不是目录。 Stat 也会告诉你。
标签: c error-handling mkdir