文件系统提供对保存为文件(file)的永久信息的访问机制。但不同系统中文件系统的属性和操纵文件系统的方式差异巨大,下面简单介绍Microsoft Windows 和 POSIX的差异:
1.
Windows 支持多个根名称,例如 c:
或 \\network_name
。 文件系统由一个树林组成,每个树都有其自己的根目录(如 c:\
或 \\network_name\
),并且每个树都有其自己的当前目录,用于完成不是绝对路径名) (相对路径名。
POSIX 支持单个树,无根名称、单个根目录 /
和一个当前目录。
2.路径名的本机表示方式:
Windows 使用以 null 结尾的序列 wchar_t
,编码为 utf-16 (每个 acter) 一个或多个元素 char 。
POSIX 使用以 null 结尾的序列 char
,编码为 utf-8 (每个 acter) 的一个或多个元素 char 。
类的对象 path
以本机形式存储路径名,但支持在此存储的窗体和多个外部窗体之间轻松转换:
以 null 值结束的序列 char
,编码为操作系统所优先的。
以 null 结尾的序列 char
,编码为 utf-8。
以 null 值结束的序列 wchar_t
,编码为操作系统所优先的。
以 null 结尾的序列 char16_t
,编码为 utf-16。
以 null 结尾的序列 char32_t
,编码为32。
通过使用一个或多个 codecvt
facet,按需调节这些表示形式之间的相互转换。 如果未指定特定的区域设置对象,则将从全局区域设置获取这些 facet。
3.操作系统允许你用于指定文件或目录访问权限的详细信息:
Windows 记录文件是只读还是可写,这对于目录没有意义。
如果目录) ,POSIX 记录是否可以读取、写入或执行 (扫描的文件。 和,无论是允许所有者、所有者组还是每个人操作,还有其他一些权限。