std::filesystem::path:: replace_extension
|
path
&
replace_extension
(
const
path
&
replacement
=
path
(
)
)
;
|
(seit C++17) | |
Ersetzt die Erweiterung durch replacement oder entfernt sie, wenn der Standardwert von replacement verwendet wird.
Zunächst, falls dieser Pfad eine extension() besitzt, wird diese aus der generischen Formatansicht des Pfadnamens entfernt.
Dann wird ein Punktzeichen an die generische Ansicht des Pfadnamens angehängt, falls replacement nicht leer ist und nicht mit einem Punktzeichen beginnt.
Dann wird replacement angehängt, als ob durch operator + = ( replacement ) .
Inhaltsverzeichnis |
Parameter
| replacement | - | die Erweiterung, die ersetzt werden soll |
Rückgabewert
* this
Ausnahmen
Kann implementierungsdefinierte Ausnahmen auslösen.
Hinweise
Der Typ von replacement ist std::filesystem::path selbst wenn er nicht dazu gedacht ist, ein Objekt im Dateisystem darzustellen, um die Dateisystem-Zeichenkodierung korrekt zu berücksichtigen.
Beispiel
#include <filesystem> #include <iomanip> #include <iostream> #include <utility> int main() { const int width1{18}, width2{11}; // Spaltenbreite std::cout << std::left << std::setw(width1) << "Pfad:" << std::setw(width2) << "Erw.:" << "Ergebnis:\n"; for (const auto& [p, e] : { std::make_pair("/foo/bar.jpg", ".png"), {"/foo/bar.jpg", "png"}, {"/foo/bar.jpg", "."}, {"/foo/bar.jpg", ""}, {"/foo/bar.", "png"}, {"/foo/bar", ".png"}, {"/foo/bar", "png"}, {"/foo/bar", "."}, {"/foo/bar", ""}, {"/foo/.", ".png"}, {"/foo/.", "png"}, {"/foo/.", "."}, {"/foo/.", ""}, {"/foo/", ".png"}, {"/foo/", "png"}}) { std::filesystem::path path{p}, ext{e}; std::cout << std::setw(width1) << path << std::setw(width2) << ext; path.replace_extension(ext); std::cout << path << '\n'; } }
Ausgabe:
Pfad: Erw.: Ergebnis: "/foo/bar.jpg" ".png" "/foo/bar.png" "/foo/bar.jpg" "png" "/foo/bar.png" "/foo/bar.jpg" "." "/foo/bar." "/foo/bar.jpg" "" "/foo/bar" "/foo/bar." "png" "/foo/bar.png" "/foo/bar" ".png" "/foo/bar.png" "/foo/bar" "png" "/foo/bar.png" "/foo/bar" "." "/foo/bar." "/foo/bar" "" "/foo/bar" "/foo/." ".png" "/foo/..png" "/foo/." "png" "/foo/..png" "/foo/." "." "/foo/.." "/foo/." "" "/foo/." "/foo/" ".png" "/foo/.png" "/foo/" "png" "/foo/.png"
Siehe auch
|
gibt die Dateierweiterungskomponente des Pfades zurück
(öffentliche Elementfunktion) |
|
|
gibt die Dateinamenkomponente des Pfades zurück
(öffentliche Elementfunktion) |
|
|
gibt die Stammkomponente des Pfades zurück (Dateiname ohne Endung)
(öffentliche Elementfunktion) |
|
|
prüft, ob das entsprechende Pfadelement nicht leer ist
(öffentliche Elementfunktion) |