3
是否有任何路径开源操作库支持以下所有内容?长格式和多格式路径操作库?
无限制路径长度(即,唯一的限制应该从
size_t
的范围内,不任意限制等256个字符)基本操作等标准化,的
basename
相当于dirname
,得到文件扩展名,获取根等。全部有效的Windows风格的路径和文件名,例如作为
\Rooted
,Dir/
,C:\Dir/foo
,File
,\\Computer\Dir/File
,\\.\C:
,Foo\./.\Bar:ADS
,或\\?\C:\Dir\Escaped:ADS:$DATA
- 我相信这也应该包括POSIX风格的路径,但如果没有,这些应太
我更喜欢C++,但C也很好。
那么,绝对*不* boost.filesystem。它在非常的句法层面上运行,并且假定路径语法接近于POSIX(例如,扩展是从最后一个点到字符串的末尾)...... – ybungalobill 2012-04-01 17:12:25
@ybungalobill:的确,Boost不起作用。但是对于你的特殊例子:*不是从最后一个点到字符串结尾的扩展吗?或者你的意思是因为它没有考虑像'\ .foo'这样的路径? – Mehrdad 2012-04-01 17:16:18
我认为如果你不想让它成为Windows特定的,你会要求太多。例如,在大多数系统中,过长的路径名不能直接用于句点。您必须手动'chdir'或多次使用'openat'才能到达目标文件。所以即使库没有限制,它返回的路径名也没什么用处。此外,在非Windows系统上,文件没有规范的名称(POSIX有硬链接)... – 2012-04-01 17:20:16