次のコードを使用して、Linux で空のフォルダーを削除しています。
bool removeFolder (const QString& path)
{
QDir dir(path);
assert(dir.exists());
return dir.rmdir(".");
}
何らかの理由で false が返されることがあります (特定のフォルダーに対してですが、それらのフォルダーは決して間違っているようには見えません)。その後 ::rmdir from<unistd.h>
を使用して同じフォルダーを削除すると、成功します。失敗した理由をどのように判断QDir::rmdir
できますか?
これまでのところ、これは Windows で発生したことはなく、QDir::rmdir
機能します。