2012-09-04 78 views
0

我必須刪除path指向的文件/目錄。所以我打電話remove(path),如果這個失敗ENOTEMPTY,那麼它是一個非空目錄,我相應地處理它。「ENOTEMPTY undeclared」編譯錯誤

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

在編譯時,我得到了ENOTEMPTY undeclaredENOTEMPTY在unistd.h(man 2 rmdir)中定義,我有#include,但仍然出現錯誤。檢查errno是否設置爲ENOTEMPTY的正確方法是什麼?

gcc 4.6.3,64位Ubuntu。

+0

是不是在''中定義? – 2012-09-04 19:40:31

+0

是的。謝謝。想要提交這個答案? – jitihsk

+0

完成,謝謝:) – 2012-09-04 19:42:45

回答

4

錯誤常量在C標準標頭<errno.h>中聲明。您必須在您的項目中使用#include該文件。