std::experimental::filesystem:: path
|
定义于头文件
<experimental/filesystem>
|
||
|
class
path
;
|
(文件系统 TS) | |
path
类型的对象表示文件系统上的路径。仅处理路径的语法层面:该路径名可能表示不存在的路径,甚至可能表示当前文件系统或操作系统上不允许存在的路径。
路径名称具有以下语法:
- 根名称 (可选) : 在多根文件系统中标识根目录(例如 "C:" 或 "//myserver" )。POSIX 文件系统具有单一根目录。
- 根目录 (可选) : 目录分隔符,若存在则标记该路径为 绝对路径 。若缺失(且除根名称外的首元素为文件名),则该路径为 相对路径 ,需要另一个路径作为起始位置来解析为文件名。
- 以下元素的零个或多个:
-
- file-name :由非目录分隔符或首选目录分隔符组成的字符序列(操作系统或文件系统可能施加额外限制)。该名称可标识文件、硬链接、符号链接或目录。存在两种特殊的 file-name :
-
- dot :由单个点字符 . 组成的文件名,是引用当前目录的目录名称。
- dot-dot :由两个点字符 .. 组成的文件名,是引用父目录的目录名称。
-
directory-separator
s:正斜杠字符
/
或作为
path::preferred_separator提供的替代字符。若该字符重复出现,将被视为单个目录分隔符: / usr ///////lib 等同于 / usr / lib 。
路径可以通过 begin() 和 end() 函数返回的迭代器进行逐元素遍历,这些迭代器会依次遍历根名称、根目录以及后续的文件名元素(目录分隔符会被跳过,除了标识根目录的分隔符)。如果路径中的最后一个元素是目录分隔符,则最后一个迭代器将解引用为文件名 dot 。
调用
path
的任何非 const 成员函数会使指向该对象元素的所有迭代器失效。
如果操作系统使用的 原生 语法与上述可移植 通用 语法不同,所有库函数均接受两种格式的路径名称。
路径可隐式转换为 std::basic_string ,也可从该类型隐式转换,这使得它们能够与其他文件API配合使用,例如作为 std::ifstream::open 的参数。
目录 |
成员类型
| 类型 | 定义 |
value_type
|
文件系统原生编码使用的字符类型:在 POSIX 系统上为 char ,在 Windows 系统上为 wchar_t |
string_type
|
std:: basic_string < value_type > |
const_iterator
|
一个常量
LegacyBidirectionalIterator
,其
value_type
为
path
|
iterator
|
const_iterator
的别名
|
成员常量
|
constexpr value_type
preferred_separator
[static]
|
可替代的目录分隔符,除可移植的
/
外亦可使用。在 Windows 系统中,此为反斜杠字符
\
。在 POSIX 系统中,此分隔符与可移植分隔符相同,均为正斜杠
/
(公开静态成员常量) |
成员函数
构造一个
path
(公开成员函数) |
|
销毁
path
对象
(公开成员函数) |
|
|
赋值另一个路径
(公开成员函数) |
|
|
赋值内容
(公开成员函数) |
|
路径拼接 |
|
|
向路径追加元素
(公开成员函数) |
|
|
拼接两个路径(不引入目录分隔符)
(公开成员函数) |
|
修改器 |
|
|
清空内容
(公开成员函数) |
|
|
将目录分隔符转换为首选目录分隔符
(公开成员函数) |
|
|
移除文件名路径组件
(公开成员函数) |
|
|
用另一个路径替换最后路径组件
(公开成员函数) |
|
|
替换扩展名
(公开成员函数) |
|
|
交换两个路径
(公开成员函数) |
|
格式观察器 |
|
|
返回路径的本地版本
(公开成员函数) |
|
|
返回转换为字符串的本地路径名格式路径
(公开成员函数) |
|
|
返回转换为字符串的通用路径名格式路径
(公开成员函数) |
|
比较 |
|
|
按字典序比较两个路径的词法表示
(公开成员函数) |
|
路径分解 |
|
|
返回路径的根名称(如果存在)
(公开成员函数) |
|
|
返回路径的根目录(如果存在)
(公开成员函数) |
|
|
返回路径的根路径(如果存在)
(公开成员函数) |
|
|
返回相对于根路径的路径
(公开成员函数) |
|
|
返回父路径
(公开成员函数) |
|
|
返回文件名路径组件
(公开成员函数) |
|
非成员函数
|
交换两个路径
(函数) |
|
|
按字典序比较两个路径
(函数) |
|
|
使用目录分隔符连接两个路径
(函数) |
|
|
对路径执行流输入和输出操作
(函数) |
|
从 UTF-8 编码源创建
path
对象
(函数) |