Filesystem library
From cppreference.net
<
cpp
|
experimental
文件系统库(ISO/IEC TS 18822:2015)提供了对文件系统及其组件(如路径、常规文件和目录)执行操作的功能。
此库是一个可选的 技术规范 ,若实现无法访问分层文件系统,或未提供必要能力时可能不可用。某些功能在底层文件系统不支持时可能无法使用(例如 FAT 文件系统没有硬链接、软链接及其他功能)。
若对此库中函数的调用引入了 文件系统竞争 (即多个线程、进程或计算机交错访问和修改文件系统中的同一对象),则该行为是 未定义 的。
该库直接基于 boost.filesystem ,相比这项实验性技术规范,目前可在更多编译器和平台上使用。
目录 |
库范围定义
- file :一种文件系统对象,用于存储数据,可进行写入、读取或同时支持两种操作。文件具有名称和属性,其中文件类型是属性之一:
-
- directory :作为目录项容器的文件,这些目录项用于标识其他文件(其中一些可能是其他嵌套目录)。在讨论特定文件时,其作为条目出现的目录称为其 父目录 。父目录可通过相对路径名 ".." 表示。
- hard link :将名称与现有文件关联的目录项。若支持多重硬链接,文件将在其最后一个硬链接被删除后移除。
- symbolic link :将名称与路径关联的目录项,该路径可能存在也可能不存在。
- regular file :不属于其他文件类型的文件。
- 文件名 :用于命名文件的字符串。允许使用的字符、大小写敏感性、最大长度以及禁止使用的名称均由实现定义。名称 . (点)和 .. (点点)在库级别具有特殊含义。
- 路径 :用于标识文件的元素序列。它以可选的 根名称 (例如 "C:" 或 "//server" )开头,后接可选的 根目录 (例如 Unix 系统中的 "/" ),再跟随零个或多个文件名序列(除最后一个外,其余必须是目录或目录链接)。路径的字符串表示形式(即 路径名 )的本机格式(例如使用哪些字符作为分隔符)和字符编码均由实现定义,此库提供了路径的可移植表示形式。
-
- 绝对路径 : 明确标识文件位置的路径。
- 规范路径 : 不包含符号链接、 "." 或 ".." 元素的绝对路径。
- 相对路径 : 相对于文件系统中某个位置来标识文件的路径。特殊路径名称 . (点号,"当前目录")和 .. (双点号,"父目录")属于相对路径。
类
|
表示路径
(类) |
|
|
文件系统错误时抛出的异常
(类) |
|
|
目录项
(类) |
|
|
目录内容的迭代器
(类) |
|
|
目录及其子目录内容的迭代器
(类) |
|
|
表示文件类型和权限
(类) |
|
|
文件系统可用空间信息
(类) |
|
|
文件类型
(枚举) |
|
|
标识文件系统权限
(枚举) |
|
|
指定复制操作语义
(枚举) |
|
|
目录内容遍历选项
(枚举) |
|
|
表示文件时间值
(类型定义) |
非成员函数
|
组合绝对路径
将路径转换为绝对路径,复制操作系统特定行为 (函数) |
|
|
组合规范路径
(函数) |
|
|
复制文件或目录
(函数) |
|
|
复制文件内容
(函数) |
|
|
复制符号链接
(函数) |
|
|
创建新目录
(函数) |
|
|
创建硬链接
(函数) |
|
|
创建符号链接
(函数) |
|
|
返回当前工作目录
(函数) |
|
|
检查路径是否指向存在的文件系统对象
(函数) |
|
|
检查两个路径是否指向同一文件系统对象
(函数) |
|
|
返回文件大小
(函数) |
|
|
返回指向特定文件的硬链接数量
(函数) |
|
|
获取或设置最后数据修改时间
(函数) |
|
|
修改文件访问权限
(函数) |
|
|
获取符号链接的目标
(函数) |
|
|
删除文件或空目录
递归删除文件或目录及其所有内容 (函数) |
|
|
移动或重命名文件或目录
(函数) |
|
|
通过截断或零填充更改常规文件的大小
(函数) |
|
|
确定文件系统上的可用空闲空间
(函数) |
|
|
确定文件属性
确定文件属性,检查符号链接目标 (函数) |
|
|
返回适用于临时文件的目录
(函数) |
|
文件类型 |
|
|
检查给定路径是否指向块设备
(函数) |
|
|
检查给定路径是否指向字符设备
(函数) <span class="editsection n |
|
另请参阅
|
C++ 文档
关于
文件系统库
(C++17)
|