が指すファイル/ディレクトリを削除する必要がありますpath。だから私は を呼び出しremove(path)、これが で失敗した場合ENOTEMPTY、それは空でないディレクトリであり、それに応じて処理します。
status = remove(path);
if (status == -1 && errno == ENOTEMPTY)
ftw(path, recursive_dir_delete, 64);
コンパイルすると、ENOTEMPTY undeclared. ENOTEMPTY#includeした unistd.h ( man 2 rmdir) で定義されていますが、それでもエラーが発生します。errno が に設定されているかどうかを確認する正しい方法は何ENOTEMPTYですか?
gcc 4.6.3、64 ビット Ubuntu。