Namensräume
Varianten
Aktionen

std::experimental::filesystem::path::concat, std::experimental::filesystem::path::operator+=

Von cppreference.com
< cpp‎ | experimental‎ | fs‎ | path
 
 
 
 
 
path& operator+=( const path& p );
(1) (Dateisystem-TS)
path& operator+=( const string_type& str );
(2) (Dateisystem-TS)
path& operator+=( const value_type* ptr );
(3) (Dateisystem-TS)
path& operator+=( value_type x );
(4) (Dateisystem-TS)
template< class Source >
path& operator+=( const Source& source );
(5) (Dateisystem-TS)
template< class CharT >
path& operator+=( CharT x );
(6) (Dateisystem-TS)
template< class Source >
path& concat( const Source& source );
(7) (Dateisystem-TS)
template< class InputIt >
path& concat( InputIterator first, InputIterator last );
(8) (Dateisystem-TS)

Verkettet den aktuellen Pfad und das Argument.

1) Verkettet *this und p so, dass native() des Ergebnisses genau das ursprüngliche native() verkettet mit p.native() ist.
2) Wie (1), außer dass native() des Ergebnisses eine Verkettung des ursprünglichen native() und des Strings str ist.
3) Wie (1), außer dass native() des Ergebnisses eine Verkettung des ursprünglichen native() und des null-terminierten Strings ist, dessen erstes Zeichen von ptr gezeigt wird.
4) Wie (1), außer dass native() des Ergebnisses eine Verkettung des ursprünglichen native() und des einzelnen Zeichens x ist.
5) Wie (1), außer dass native() des Ergebnisses eine Verkettung des ursprünglichen native() und der Sequenz (die im portablen oder nativen Format vorliegen kann) ist, die durch source repräsentiert wird, welche std::basic_string, ein null-terminierter Multizeichenstring oder ein Eingabeiterator sein kann, der auf eine null-terminierte Multizeichensequenz zeigt.
6) Wie (4), außer dass Zeichenkonvertierung durchgeführt werden kann.
7) Wie (5).
8) Wie (5), außer dass die Sequenz durch ein beliebiges Iteratorpaar repräsentiert wird, das einen Multizeichenstring bezeichnet.

Inhalt

[edit] Parameter

p - Zu appendender Pfad
str - anzuhängender String
ptr - Zeiger auf den Anfang eines null-terminierten Strings, der angehängt werden soll
x - Einzelnes Zeichen, das angehängt werden soll
source - std::basic_string, null-terminierter Multizeichenstring oder ein Eingabeiterator, der auf eine null-terminierte Multizeichensequenz zeigt, die einen Pfadnamen (entweder im portablen oder nativen Format) repräsentiert
first, last - Paar von LegacyInputIteratoren, die eine Multizeichenkette bezeichnen, die einen Pfadnamen darstellt
Typanforderungen
-
InputIt muss die Anforderungen von LegacyInputIterator erfüllen.
-
Der Werttyp von 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).

[edit] Rückgabewert

*this

[edit] Ausnahmen

Kann filesystem_error bei Fehlern der zugrunde liegenden OS-API oder std::bad_alloc bei fehlgeschlagener Speicherzuweisung auslösen.

[edit] Hinweise

Im Gegensatz zu append() oder operator/= werden niemals zusätzliche Verzeichnistrenner eingeführt.

[edit] Beispiel

#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';
}

Ausgabe

"" + "var" == "var"
"" + "var" + "lib" == "varlib"

[edit] Siehe auch

hängt Elemente an den Pfad an
(public member function) [edit]
verkettet zwei Pfade mit einem Verzeichnistrenner
(function) [edit]