Porovnání EEXIST a EISDIR vedle sebe — pochopte rozdíly, příčiny a opravy.
EEXISTOperace vytvoření souboru selhala, protože soubor se zadaným názvem již existuje.
Operace vyžadující neexistenci souboru byla provedena na existujícím souboru. K tomu dochází při použití příznaků O_CREAT | O_EXCL v open(), při volání mkdir() na existující adresář nebo při vytváření symbolického odkazu, kde již jeden existuje.
Před vytvořením souboru zkontrolujte jeho existenci. Pokud je přepsání přijatelné, použijte O_CREAT bez O_EXCL. V případě potřeby nejprve odstraňte existující soubor.
EISDIROperace není na adresáři povolena, ale cílová cesta je adresář.
Byl učiněn pokus provést na adresáři operaci specifickou pro soubory (například otevřít pro zápis nebo unlink).
Místo souborových operací použijte operace specifické pro adresáře jako rmdir() nebo opendir(). Pro odebrání adresáře i jeho obsahu použijte rm -r.