std::experimental::filesystem::path

来自cppreference.com
< cpp‎ | experimental‎ | fs
 
 
实验性
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
并发扩展 2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
实验性非 TS 功能特性
模式匹配
线性代数
std::execution
契约
2D 图形
 
 
 
在标头 <experimental/filesystem> 定义
class path;
(文件系统 TS)

path 类型的对象表示文件系统上的路径。只有路径的语法外观得到处理:路径名可能表示不存在的路径,或甚至不允许存在于当前文件系统或操作系统的路径。

路径名拥有下列语法:

  1. 根名(可选):标识具有多根的文件系统(如 "C:""//myserver")的根。POSIX 文件系统具有单根。
  2. 根目录(可选):目录分隔符,若存在,则标记此路径为绝对路径。若缺失(且除了根名外的首元素是文件名),则路径为相对路径且要求另一路径作为解析此文件名的起始位置。
  3. 零或多个下列各项:
  • 文件名:并非目录分隔符或偏好目录分隔符的字符的序列(操作系统或文件系统可能施加额外限制)。此名称可能标识一个文件、硬链接、符号链接或目录。可辨别两种特殊的 文件名
  • :由单个点字符 . 构成的文件名是指代当前目录的目录名
  • 点点:由两个点字符 .. 构成的文件名是指代父目录的目录名。
  • 目录分隔符:正斜杠字符 / 或作为 path::preferred_separator 提供的另一种字符。若重复此字符,则它被处理成单个目录分隔符:/usr///////lib/usr/lib 相同。

路径可由 begin()end() 函数返回的迭代器逐元素遍历,这会以通用格式查看路径,并在根名、根目录及后继文件名元素上迭代(跳过目录分隔符,除了标识根目录者)。若路径中的最后元素是目录分隔符,则最后的迭代器将解引用为文件名

调用 path 的任何非 const 成员函数会令所有引用该对象元素的迭代器失效。

若 OS 使用异于上述可移植通用语法的原生语法,则所有库函数均接受两种格式的路径名。

路径可隐式转换自及转换成 std::basic_string,这使得在其他文件 API 上使用它们变得可行,例如作为到 std::ifstream::open 的实参。

目录

[编辑] 成员类型

类型 定义
value_type 文件系统原生编码所用的字符类型:POSIX 上为 char,Windows 上为 wchar_t
string_type std::basic_string<value_type>
const_iterator value_typepath 的常量老式双向迭代器 (LegacyBidirectionalIterator)
iterator const_iterator 的别名

[编辑] 成员常量

constexpr value_type preferred_separator
[静态]
在可移植的 / 之外可用的另一种目录分隔符。Windows 上它是反斜杠字符 \。POSIX 上它是与可移植分隔符相同的斜杠 /
(公开静态成员常量)

[编辑] 成员函数

构造 path
(公开成员函数) [编辑]
销毁 path 对象
(公开成员函数) [编辑]
赋值另一个路径
(公开成员函数) [编辑]
赋值内容
(公开成员函数) [编辑]
接合
向路径追加元素
(公开成员函数) [编辑]
接合两个路径而不引入目录分隔符
(公开成员函数) [编辑]
修改器
擦除内容
(公开成员函数) [编辑]
将目录分隔符转换为首选目录分隔符
(公开成员函数) [编辑]
移除文件名路径组分
(公开成员函数) [编辑]
以另一路径替换最后一个路径组分
(公开成员函数) [编辑]
替换扩展名
(公开成员函数) [编辑]
交换两个路径
(公开成员函数) [编辑]
格式观察器
返回路径的原生版本
(公开成员函数) [编辑]
返回转换为字符串的原生路径名格式的路径
(公开成员函数) [编辑]
返回转换为字符串的通用路径名格式的路径
(公开成员函数) [编辑]
比较
按字典序比较两个路径的词法表示
(公开成员函数) [编辑]
分解
返回路径的根名称,如果存在
(公开成员函数) [编辑]
返回路径的根目录,如果存在
(公开成员函数) [编辑]
返回路径的根路径,如果存在
(公开成员函数) [编辑]
返回相对于根路径的路径
(公开成员函数) [编辑]
返回父路径的路径
(公开成员函数) [编辑]
返回文件名路径组分
(公开成员函数) [编辑]
返回主干路径组分
(公开成员函数) [编辑]
返回文件扩展名路径组分
(公开成员函数) [编辑]
查询
检查路径是否为空
(公开成员函数) [编辑]
检查对应路径元素是否非空
(公开成员函数) [编辑]
检查 root_path() 是否唯一标定文件系统路径
(公开成员函数) [编辑]
迭代器
将路径作为元素序列访问的迭代器
(公开成员函数) [编辑]

[编辑] 非成员函数

交换两个路径
(函数) [编辑]
按字典序比较两个路径
(函数) [编辑]
以一个目录分隔符连接两个路径
(函数) [编辑]
实施 path 的流输入/输出
(函数) [编辑]
从 UTF-8 编码的源创建 path
(函数) [编辑]