Skip to main content
Version: 1.1.1

文件系统

文件系统库提供对文件系统及其组件(例如路径、常规文件和目录)执行操作的工具。

如果分层文件系统无法供实现访问,或者它不提供必要的功能,则文件系统库功能可能不可用。 如果底层文件系统不支持某些功能,则它们可能不可用(例如,FAT 文件系统缺少符号链接并禁止多个硬链接)。在这些情况下,必须报告错误。

文件系统实现与turbo/files中。

定义

  • 文件:保存数据的文件系统对象,可以写入、读取或两者兼有。文件具有名称、属性,其中之一是文件类型:
    • 目录:充当目录条目容器的文件,用于标识其他文件(其中一些文件可能是其他嵌套目录)。在讨论特定文件时,它作为条目出现的目录是其父目录。父目录可以用相对路径名“..”表示。
    • 常规文件:将名称与现有文件(即硬链接)关联的目录条目。如果支持多个硬链接,则在删除最后一个硬链接后删除该文件。
    • 符号链接:将名称与路径关联的目录条目,路径可能存在也可能不存在。
    • 其他特殊文件类型:块、字符、fifo、套接字。
  • 文件名:用于命名文件的字符串。允许的字符、区分大小写、最大长度和不允许的名称由实现定义。名称.(点)和..(点-点)在库级别具有特殊含义。
  • 路径:用于标识文件的元素序列。它以可选的根名称(例如 Windows 上的“C:”或//server)开头,后跟可选的根目录(例如 Unix 上的/),后跟零个或 多个文件名序列(除最后一个之外,其余文件名都必须是目录或指向目录的链接)。路径(路径名)的字符串表示的本机格式(例如,哪些字符用作分隔符)和字符编码 是实现定义的,此库提供可移植的路径表示。
    • 绝对路径:明确标识文件位置的路径。
    • 规范路径:不包含符号链接、...元素的绝对路径。
    • 相对路径:标识文件相对于文件系统上某个位置的位置的路径。特殊路径名. (点,当前目录) 和.. (点-点,父目录) 是相对路径。

turbo::FilePath

路径类型的对象表示文件系统上的路径。仅处理路径的语法方面:路径名可能表示不存在的路径,甚至是当前文件系统或操作系统上不允许存在的路径。

路径名具有以下语法:

turbo::DirectoryEntry

turbo::DirectoryIterator

turbo::RecursiveDirectoryIterator

turbo::FileStatus

turbo::SpaceInfo

turbo::FileType

turbo::Perms

turbo::PermOptions

turbo::CopyOptions

turbo::DirectoryOptions

turbo::FileTimeType