我必须删除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
中定义的,我已经将其包括在内,但仍然会得到错误。检查errno是否设置为ENOTEMPTY
的正确方法是什么?GCC4.6.3,64位Ubuntu。
最佳答案
错误常数在C标准头<errno.h>
中声明。你必须在你的项目中#include
那个文件。