EEXISTとEISDIRの並列比較 — 違い、原因、修正方法を理解。
EEXIST指定した名前のファイルがすでに存在するため、ファイル作成操作が失敗した。
ファイルが存在しないことを前提とする操作が、既存のファイルに対して試みられた。open() での O_CREAT | O_EXCL フラグ使用時、既存ディレクトリへの mkdir() 呼び出し時、またはすでに存在する場所へのシンボリックリンク作成時に発生する。
作成前にファイルの存在を確認する。上書きが許容される場合は O_EXCL なしの O_CREAT を使用する。必要に応じて既存のファイルを先に削除する。
EISDIRその操作はディレクトリに対して許可されていないが、対象パスがディレクトリである。
ディレクトリに対してファイル固有の操作(書き込みのための open や unlink など)が試みられた。
ファイル操作の代わりに rmdir() や opendir() などのディレクトリ固有の操作を使用する。ディレクトリとその内容を削除するには rm -r を使用する。