std::filesystem::path::stem
Von cppreference.com
< cpp | filesystem | path
| path stem() const; |
(seit C++17) | |
Gibt den Dateinamen zurück, der vom Pfad im generischen Format identifiziert wird, bereinigt von seiner Erweiterung.
Gibt die Teilzeichenfolge vom Anfang von filename() bis zum letzten Punkt (.) zurück, diesen jedoch nicht einschließend, mit folgenden Ausnahmen:
- Wenn das erste Zeichen im Dateinamen ein Punkt ist, wird dieser Punkt ignoriert (ein Dateiname wie ".profile" wird nicht als Erweiterung behandelt).
- Wenn der Dateiname eine der speziellen Dateisystemkomponenten dot oder dot-dot ist oder keine Punkte enthält, gibt die Funktion den gesamten filename() zurück.
Inhalt |
[bearbeiten] Parameter
(keine)
[bearbeiten] Rückgabewert
Der Stamm des Dateinamens, der vom Pfad identifiziert wird (d. h. der Dateiname ohne die letzte Erweiterung).
[edit] Exceptions
Kann implementierungsdefinierte Ausnahmen auslösen.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { for (const fs::path p : {"/foo/bar.txt", "/foo/.bar", "foo.bar.baz.tar"}) std::cout << "path: " << p << ", stem: " << p.stem() << '\n'; std::cout << '\n'; for (fs::path p = "foo.bar.baz.tar"; !p.extension().empty(); p = p.stem()) std::cout << "path: " << p << ", extension: " << p.extension() << '\n'; }
Ausgabe
path: "/foo/bar.txt", stem: "bar" path: "/foo/.bar", stem: ".bar" path: "foo.bar.baz.tar", stem: "foo.bar.baz" path: "foo.bar.baz.tar", extension: ".tar" path: "foo.bar.baz", extension: ".baz" path: "foo.bar", extension: ".bar"
[bearbeiten] Siehe auch
| gibt die Dateinamen-Pfadkomponente zurück (public member function) | |
| gibt die Dateiendungs-Pfadkomponente zurück (public member function) |