Posixで空の文字列をファイル名として使用することはできませんか?

Posixで空の文字列をファイル名として使用することはできませんか?

私の経験では、空の文字列ファイル名で作業しようとすると、ファイルが見つかりません(ENOENTincludels -ld ''またはext4)。しかし、ext4touch ''だけmkdir ''を試すことができます。

私が見ると、これは論理的なように見えますが、Posixにこれを禁止するものはありますか?

答え1

これUnix仕様の3.170ポイントファイル名を空にできないことを指定します。

ファイル名の指定に使用される 1 から {NAME_MAX} までのバイト列です。名前を構成するバイトには <NUL> または <slash> 文字を含めることはできません。

したがって、空のファイル名を操作しようとするとエラーが発生します。文字列を操作する前に、文字列が空であることをテストすることをお勧めします。

関連情報