0

我必须删除指向的文件/目录path。所以我打电话remove(path),如果这失败了ENOTEMPTY,那么它是一个非空目录,我会相应地处理它。

status = remove(path);
if (status == -1 && errno == ENOTEMPTY)
    ftw(path, recursive_dir_delete, 64);

在编译时,我得到ENOTEMPTY undeclared. ENOTEMPTY在 unistd.h ( man 2 rmdir) 中定义,我有 #included,但我仍然收到错误。检查 errno 是否设置为的正确方法是ENOTEMPTY什么?

gcc 4.6.3,64 位 Ubuntu。

4

1 回答 1

4

错误常量在 C 标准头文件中声明<errno.h>。您必须#include在项目中使用该文件。

于 2012-09-04T19:42:37.500 回答