Vergleich von EEXIST und EISDIR — verstehen Sie die Unterschiede, Ursachen und Lösungen.
Eine Dateierstellungsoperation schlug fehl, weil bereits eine Datei mit dem angegebenen Namen existiert.
Eine Operation, die erfordert, dass eine Datei nicht existiert, wurde auf eine vorhandene Datei angewandt. Dies tritt bei den Flags O_CREAT | O_EXCL in open() auf, beim Aufruf von mkdir() auf einem vorhandenen Verzeichnis oder beim Erstellen eines Symlinks an einer bereits belegten Stelle.
Prüfen Sie, ob die Datei existiert, bevor Sie sie erstellen. Verwenden Sie O_CREAT ohne O_EXCL, wenn Überschreiben akzeptabel ist. Entfernen Sie gegebenenfalls zuerst die vorhandene Datei.
Die Operation ist auf einem Verzeichnis nicht erlaubt, aber der Zielpfad ist ein Verzeichnis.
Es wurde versucht, eine dateispezifische Operation (wie öffnen zum Schreiben oder unlink) auf einem Verzeichnis auszuführen.
Verwenden Sie verzeichnisspezifische Operationen wie rmdir() oder opendir() anstelle von Dateioperationen. Um ein Verzeichnis und seinen Inhalt zu entfernen, verwenden Sie rm -r.