std::experimental::filesystem::path:: concat, std::experimental::filesystem::path:: operator+=
From cppreference.net
<
cpp
|
experimental
|
fs
|
path
|
path
&
operator
+
=
(
const
path
&
p
)
;
|
(1) | (filesystem TS) |
|
path
&
operator
+
=
(
const
string_type
&
str
)
;
|
(2) | (filesystem TS) |
|
path
&
operator
+
=
(
const
value_type
*
ptr
)
;
|
(3) | (filesystem TS) |
|
path
&
operator
+
=
(
value_type x
)
;
|
(4) | (filesystem TS) |
|
template
<
class
Source
>
path & operator + = ( const Source & source ) ; |
(5) | (filesystem TS) |
|
template
<
class
CharT
>
path & operator + = ( CharT x ) ; |
(6) | (filesystem TS) |
|
template
<
class
Source
>
path & concat ( const Source & source ) ; |
(7) | (filesystem TS) |
|
template
<
class
InputIt
>
path & concat ( InputIterator first, InputIterator last ) ; |
(8) | (filesystem TS) |
現在のパスと引数を連結します。
5)
(1)
と同様であるが、結果の
native()
は元の
native()
と
source
によって表現されるシーケンス(ポータブル形式またはネイティブ形式のいずれか)の連結となる。
std::
basic_string
、ヌル終端マルチキャラクタ文字列、またはヌル終端マルチキャラクタシーケンスを指す入力イテレータのいずれかである。
6)
(4)
と同様ですが、文字変換が行われる可能性があります。
7)
(5)
と同じ。
8)
(5)
と同様、ただしシーケンスはマルチキャラクター文字列を指定する任意のイテレータペアで表現される。
目次 |
パラメータ
| p | - | 追加するパス |
| str | - | 追加する文字列 |
| ptr | - | 追加するヌル終端文字列の先頭へのポインタ |
| x | - | 追加する単一文字 |
| source | - | std:: basic_string 、ヌル終端マルチ文字列、またはヌル終端マルチ文字シーケンスを指す入力イテレータ(ポータブル形式またはネイティブ形式のいずれかのパス名を表す) |
| first, last | - | パス名を表すマルチ文字シーケンスを指定する LegacyInputIterator s のペア |
| 型要件 | ||
-
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/= とは異なり、追加のディレクトリ区切り文字が導入されることは決してありません。
例
このコードを実行
#include <experimental/filesystem> #include <iostream> namespace fs = std::experimental::filesystem; int main() { fs::path p1; // empty path p1 += "var"; // does not insert a separator std::cout << "\"\" + \"var\" == " << p1 << '\n'; p1 += "lib"; // does not insert a separator std::cout << "\"\" + \"var\" + \"lib\" == " << p1 << '\n'; }
出力:
"" + "var" == "var" "" + "var" + "lib" == "varlib"
関連項目
|
パスに要素を追加する
(公開メンバ関数) |
|
|
ディレクトリ区切り文字で2つのパスを連結する
(関数) |