名前が空のファイル

名前が空のファイル

指定されたディレクトリのファイルを表示するウィジェットを作成していますが、ファイル名が空の場合を処理する必要があるかどうか疑問に思います。

テスト結果が明確ではないので、確実な情報をご存知ですか?

$ touch ""
touch: cannot touch `': No such file or directory

$ echo > ""
bash: : No such file or directory

ベストアンサー1

ファイル名は空白にできません。引用するシングルUnix仕様、§3.170、ファイル名は次のとおりです。

ファイル名を指定するために使用される1〜{NAME_MAX}バイトで構成される名前。名前を構成する文字は、<スラッシュ>文字とヌルバイトを除く任意の文字値セットから選択できます。

したがって、少なくとも1バイトで構成する必要があります。つまり、空ではないはずです。

この定義によれば、これらの文字のいずれも表示する必要はなく(つまり、両方とも空白にすることができます)、印刷する必要もありません(すべて制御文字にすることができます)。ファイル名がUTF-8であると仮定すると、必ずしもそうではありません。

おすすめ記事