std::experimental::filesystem::path::concat, std::experimental::filesystem::path::operator+=
来自cppreference.com
< cpp | experimental | fs | path
path& operator+=( const path& p ); |
(1) | (文件系统 TS) |
path& operator+=( const string_type& str ); |
(2) | (文件系统 TS) |
path& operator+=( const value_type* ptr ); |
(3) | (文件系统 TS) |
path& operator+=( value_type x ); |
(4) | (文件系统 TS) |
template< class Source > path& operator+=( const Source& source ); |
(5) | (文件系统 TS) |
template< class CharT > path& operator+=( CharT x ); |
(6) | (文件系统 TS) |
template< class Source > path& concat( const Source& source ); |
(7) | (文件系统 TS) |
template< class InputIt > path& concat( InputIterator first, InputIterator last ); |
(8) | (文件系统 TS) |
接合当前路径和实参。
5) 与 (1) 相同,但所得的 native() 为原 native() 和以 source 表示的序列(可以为可移植或原生格式)的接合,source 可以是 std::basic_string,空终止多字符字符串,或指向空终止多字符序列的输入迭代器。
6) 与 (4) 相同,但可能实施字符转换。
7) 与 (5) 相同。
8) 与 (5) 相同,但以代表多字符字符串的任何迭代器对来表示序列。
参数
p | - | 要追加的路径 |
str | - | 要追加的字符串 |
ptr | - | 指向要追加的空终止字符串的开头的指针 |
x | - | 要追加的单个字符 |
source | - | std::basic_string,空终止多字符字符串,或指向空终止多字符序列的输入迭代器,表示路径名(可移植或原生格式) |
first, last | - | 一对老式输入迭代器 (LegacyInputIterator) ,指定表示路径名的多字符序列 |
类型要求 | ||
-InputIt 必须满足老式输入迭代器 (LegacyInputIterator) 。
| ||
-InputIt 的值类型必须为编码字符类型(char、wchar_t、char16_t 和 char32_t)之一。
| ||
-CharT 必须为编码字符类型(char、wchar_t、char16_t 和 char32_t)之一。
|
返回值
*this
异常
在发生底层 OS API 错误时可能抛出 filesystem_error,或若发生内存分配失败可能抛出 std::bad_alloc。
注解
与 append() 或 operator/= 不同,从不引入额外的目录分隔符。
示例
运行此代码
输出:
"" + "var" == "var" "" + "var" + "lib" == "varlib"
参阅
向路径追加元素 (公开成员函数) | |
以一个目录分隔符连接两个路径 (函数) |