std::experimental::filesystem::path:: append, std::experimental::filesystem::path:: operator/=
From cppreference.net
<
cpp
|
experimental
|
fs
|
path
|
path
&
operator
/
=
(
const
path
&
p
)
;
|
(1) | (filesystem TS) |
|
template
<
class
Source
>
path & operator / = ( const Source & source ) ; |
(2) | (filesystem TS) |
|
template
<
class
Source
>
path & append ( const Source & source ) ; |
(3) | (filesystem TS) |
|
template
<
class
InputIt
>
path & append ( InputIt first, InputIt last ) ; |
(4) | (filesystem TS) |
1)
まず、以下のいずれかの条件が真でない限り、優先ディレクトリ区切り文字を
this
に追加します:
* セパレータは冗長になる(
*
this
が既にセパレータで終わっているため)。
*
*
this
が空である場合、または追加すると相対パスが何らかの方法で絶対パスに変換される場合。
*
p
は空のパスです。
*
p.
native
(
)
がディレクトリ区切り文字で始まる。
その後、
p.
native
(
)
を
*
this
が保持するパス名に追加する。
4)
(1)
と同じですが、マルチ文字列を指定する任意のイテレータペアを受け入れます。
目次 |
パラメータ
| p | - | 追加するパス名 |
| source | - | std:: basic_string 、ヌル終端マルチ文字列、またはヌル終端マルチ文字シーケンスを指す入力イテレータ(ポータブル形式またはネイティブ形式のいずれかのパス名を表す) |
| first, last | - | パス名を表すマルチ文字シーケンスを指定する LegacyInputIterator のペア |
| 型要件 | ||
-
InputIt
は
LegacyInputIterator
の要件を満たさなければならない。
|
||
|
-
|
||
戻り値
* this
例外
基盤となるOS APIエラーが発生した場合 filesystem_error をスローする可能性があり、メモリ確保に失敗した場合は std:: bad_alloc をスローする可能性があります。
例
このコードを実行
#include <experimental/filesystem> #include <iostream> namespace fs = std::experimental::filesystem; int main() { fs::path p1 = "C:"; p1 /= "Users"; // セパレータを挿入しない // "C:Users" はWindowsにおける相対パス // ディレクトリセパレータを追加すると絶対パスになる std::cout << "\"C:\" / \"Users\" == " << p1 << '\n'; p1 /= "batman"; // fs::path::preferred_separatorを挿入、Windowsでは'\' std::cout << "\"C:\" / \"Users\" / \"batman\" == " << p1 << '\n'; }
出力例:
"C:" / "Users" == "C:Users" "C:" / "Users" / "batman" == "C:Users\batman"
関連項目
|
ディレクトリ区切り文字を導入せずに2つのパスを連結する
(公開メンバ関数) |
|
|
ディレクトリ区切り文字を使用して2つのパスを連結する
(関数) |