std::experimental::filesystem::path::concat、std::experimental::filesystem::path::operator+=
From cppreference.com
< 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 のペア。 |
| 型要件 | ||
-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"
[編集] 関連項目
| パスに要素を追加します。 (public member function) | |
| ディレクトリセパレータで2つのパスを連結します。 (function) |