Namespaces
Variants

std::experimental::filesystem::path:: extension

From cppreference.net
path extension ( ) const ;
(Filesystem TS)

Gibt die Erweiterung der Dateinamenkomponente des Pfades * this zurück.

Wenn die filename() -Komponente des Pfads einen Punkt ( . ) enthält und nicht eines der speziellen Dateisystemelemente dot oder dot-dot ist, dann ist die Erweiterung die Teilzeichenkette, die beim rechtesten Punkt beginnt (einschließlich des Punkts) und bis zum Ende des Pfadnamens reicht.

Wenn der Pfadname entweder . oder .. ist, oder wenn filename() den . -Zeichen nicht enthält, wird ein leerer Pfad zurückgegeben.

Zusätzliches Verhalten kann durch die Implementierungen für Dateisysteme definiert werden, die zusätzliche Elemente (wie alternative Datenströme oder partitionierte Dataset-Namen) zu Erweiterungen hinzufügen.

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Die Erweiterung des aktuellen Pfadnamens oder ein leerer Pfad, falls keine Erweiterung vorhanden ist.

Ausnahmen

Kann implementierungsdefinierte Ausnahmen auslösen.

Hinweise

Die Erweiterung, die von dieser Funktion zurückgegeben wird, enthält einen Punkt, um es zu ermöglichen, zwischen einer Datei, die mit einem Punkt endet (Funktion gibt "." zurück), und einer Datei ohne Erweiterung (Funktion gibt "" zurück) zu unterscheiden.

Für jeden Pfad p , p. stem ( ) + p. extension ( ) == p. filename ( ) .

Beispiel

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    std::cout << fs::path("/foo/bar.txt").extension() << '\n'
              << fs::path("/foo/bar.").extension() << '\n'
              << fs::path("/foo/bar").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.cc").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.").extension() << '\n'
              << fs::path("/foo/bar.txt/bar").extension() << '\n'
              << fs::path("/foo/.").extension() << '\n'
              << fs::path("/foo/..").extension() << '\n'
              << fs::path("/foo/.hidden").extension() << '\n';
}

Ausgabe:

".txt"
"."
""
".cc"
"."
""
""
""
".hidden"

Siehe auch

gibt die Dateinamen-Komponente des Pfades zurück
(öffentliche Elementfunktion)
gibt die Stamm-Komponente des Pfades zurück
(öffentliche Elementfunktion)
ersetzt die Dateierweiterung
(öffentliche Elementfunktion)
prüft, ob das entsprechende Pfadelement nicht leer ist
(öffentliche Elementfunktion)