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) |
Verkettet den aktuellen Pfad und das Argument.
1)
Verkettet
*
this
und
p
so, dass
native()
des Ergebnisses exakt dem originalen
native()
verkettet mit
p.
native
(
)
entspricht.
2)
Gleich wie
(1)
, außer dass das resultierende
native()
eine Verkettung des ursprünglichen
native()
und der Zeichenkette
str
ist.
3)
Gleich wie
(1)
, außer dass das resultierende
native()
eine Verkettung des ursprünglichen
native()
und der nullterminierten Zeichenkette ist, deren erstes Zeichen durch
ptr
gezeigt wird.
4)
Gleich wie
(1)
, außer dass das resultierende
native()
eine Verkettung des ursprünglichen
native()
und des einzelnen Zeichens
x
ist.
5)
Gleich wie
(1)
, außer dass das resultierende
native()
eine Verkettung des ursprünglichen
native()
und der Sequenz (die im portablen oder nativen Format vorliegen kann) ist, die durch
source
repräsentiert wird, was
std::
basic_string
, eine nullterminierte Mehrzeichen-Zeichenkette oder ein Eingabe-Iterator, der auf eine nullterminierte Mehrzeichen-Sequenz zeigt, sein kann.
6)
Gleich wie
(4)
, mit der Ausnahme, dass Zeichenkonvertierung durchgeführt werden kann.
7)
Gleich wie
(5)
.
8)
Gleich wie
(5)
, mit der Ausnahme, dass die Sequenz durch ein beliebiges Iteratorpaar dargestellt wird, das eine Mehrzeichen-Zeichenkette bezeichnet.
Inhaltsverzeichnis |
Parameter
| p | - | Pfad, der angehängt werden soll |
| str | - | anzuhängende Zeichenkette |
| ptr | - | Zeiger auf den Anfang einer nullterminierten Zeichenkette, die angehängt werden soll |
| x | - | einzelnes Zeichen, das angehängt werden soll |
| source | - | std:: basic_string , nullterminierte Multibyte-Zeichenkette oder ein Eingabe-Iterator, der auf eine nullterminierte Multibyte-Zeichenfolge zeigt, die einen Pfadnamen darstellt (entweder im portablen oder nativen Format) |
| first, last | - | Paar von LegacyInputIterator s , die eine Multibyte-Zeichenfolge spezifizieren, die einen Pfadnamen darstellt |
| Typanforderungen | ||
-
InputIt
muss die Anforderungen von
LegacyInputIterator
erfüllen.
|
||
-
InputIt
muss einer der kodierten Zeichentypen sein (
char
,
wchar_t
,
char16_t
und
char32_t
).
|
||
-
CharT
muss einer der kodierten Zeichentypen sein (
char
,
wchar_t
,
char16_t
und
char32_t
).
|
||
Rückgabewert
* this
Exceptions
Kann filesystem_error bei zugrundeliegenden OS-API-Fehlern werfen oder std:: bad_alloc bei Speicherallokierungsfehlern.
Hinweise
Im Gegensatz zu append() oder operator/= werden keine zusätzlichen Verzeichnistrennzeichen eingefügt.
Beispiel
Diesen Code ausführen
#include <experimental/filesystem> #include <iostream> namespace fs = std::experimental::filesystem; int main() { fs::path p1; // leerer Pfad p1 += "var"; // fügt keinen Separator ein std::cout << "\"\" + \"var\" == " << p1 << '\n'; p1 += "lib"; // fügt keinen Separator ein std::cout << "\"\" + \"var\" + \"lib\" == " << p1 << '\n'; }
Ausgabe:
"" + "var" == "var" "" + "var" + "lib" == "varlib"
Siehe auch
|
fügt Elemente zum Pfad hinzu
(öffentliche Elementfunktion) |
|
|
verkettet zwei Pfade mit einem Verzeichnistrennzeichen
(Funktion) |