我有一个函数来检查传入的文件名是.还是... 但我不知道如何正确命名它。像这样的东西IsCurrentOrParentDirectory()是不明确的,因为该函数采用文件名而不是完整路径。(直觉上,一个程序员同事会期望/usr/在我进去时通过/usr/会返回true,而实际上并非如此。)
这些目录条目有技术术语吗?如果有,那是什么?
slh*_*hck 23
从POSIX 标准:
特殊文件名点应指代其前任指定的目录。特殊文件名 dot-dot 应指代其前任目录的父目录。作为一种特殊情况,在根目录中,dot-dot 可能指的是根目录本身。
因此,实际上,如果您想检查文件名是否为.或者..您必须调用它IsDotOrDotDot(),或者,使用路径名解析的 POSIX 术语IsPredecessorOrParentOfPredecessor(),或者甚至PointsToPredecessorOrParentOfPrecedessor()……您明白了。问题是后一个术语仅在查看完整路径名时才有意义。但无论如何,没有人会明白这一点。
考虑到这一点.并且..是有效的文件名(只是解释不同),你应该坚持你所拥有的,依靠含义而不是内部调用它们的方式。
| 归档时间: |
|
| 查看次数: |
3628 次 |
| 最近记录: |