Comparación lado a lado de EEXIST y EISDIR — entiende las diferencias, causas y soluciones.
Una operación de creación de archivo falló porque ya existe un archivo con el nombre indicado.
Se intentó una operación que requiere que un archivo no exista sobre un archivo existente. Esto ocurre con las banderas O_CREAT | O_EXCL en open(), al llamar a mkdir() sobre un directorio existente o al crear un enlace simbólico donde ya existe uno.
Comprueba si el archivo existe antes de crearlo. Usa O_CREAT sin O_EXCL si es aceptable sobrescribir. Elimina primero el archivo existente si procede.
La operación no está permitida sobre un directorio, pero la ruta de destino es un directorio.
Se intentó realizar una operación específica de archivos (como abrir para escritura o unlink) sobre un directorio.
Usa operaciones específicas de directorios como rmdir() u opendir() en lugar de operaciones de archivo. Para eliminar un directorio y su contenido, usa rm -r.