0

关于绝对路径名的其他限制是什么?

似乎唯一的限制是它必须以“/”开头,并且下面的 ascii 字符序列必须由每个用“/”分隔的 ascii 字符段组成。

注意:我试图找出将路径名映射到文件的函数的名称空间。

编辑:事实证明,对于我的家庭作业,我对限制的推理是正确的。

4

2 回答 2

3

路径名的长度不能超过 PATH_MAX - 请参阅 /usr/include/limits.h 或 sysconf(3)。

文件的长度不能超过取决于文件系统的 NAME_MAX - 请参阅 fpathconf(3) 或pathconf

绝对路径确实以“/”开头

于 2012-10-12T02:54:57.770 回答
1

简短的回答是它取决于使用的文件系统,但您可以从内核强制使用特定的字符集。

长版大部分没有太多限制,有些甚至可以让你在文件名中使用'/'或'\0'作为有效字符,但是在软件中处理它很疯狂,所以没有人真的使用该“功能”。例如,如果您映射一个 FAT 文件系统,您将被限制在合法的范围内(仅限 ascii)。我使用 ext4 和 reiserfs4,它们允许除 '/' 和 '\0' 之外的所有内容。我使用 utf-8 字符集,因此我可以使用名称中包含所有全局字符的文件名(我有一些带有日文或俄文名称的文件 - 主要是来自这些国家的音乐)。

于 2012-10-12T02:47:30.333 回答