std::filesystem::directory_entry::replace_filename
Von cppreference.com
< cpp | filesystem | directory entry
| void replace_filename( const std::filesystem::path& p ); |
(1) | (seit C++17) |
| void replace_filename( const std::filesystem::path& p, std::error_code& ec ); |
(2) | (seit C++17) |
Ändert den Dateinamen des Verzeichniseintrags.
Modifiziert effektiv das Pfad-Mitglied durch path.replace_filename(p) und ruft refresh auf, um die zwischengespeicherten Attribute zu aktualisieren. Wenn ein Fehler auftritt, sind die Werte der zwischengespeicherten Attribute undefiniert.
Diese Funktion committet keine Änderungen an das Dateisystem.
Inhalt |
[bearbeiten] Parameter
| p | - | der Pfad, der an den übergeordneten Pfad des aktuell gespeicherten Pfads angehängt werden soll |
| ec | - | Ausgabeparameter für die Fehlerberichterstattung in der nicht auslösenden Überladung |
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Ausnahmen
Jede Überladung, die nicht als noexcept markiert ist, kann std::bad_alloc auslösen, wenn die Speicherzuweisung fehlschlägt.
1) Wirft std::filesystem::filesystem_error bei zugrundeliegenden Betriebssystem-API-Fehlern, konstruiert mit p als erstem Pfadargument und dem Betriebssystem-Fehlercode als Fehlercodeargument.
2) Setzt einen std::error_code& Parameter auf den Betriebssystem-API-Fehlercode, wenn ein Betriebssystem-API-Aufruf fehlschlägt, und führt ec.clear() aus, wenn keine Fehler auftreten.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <filesystem> #include <iostream> int main() { namespace fs = std::filesystem; { fs::directory_entry entry{"alpha"}; std::cout << entry << '\n'; entry.replace_filename("omega"); std::cout << entry << '\n'; } { fs::directory_entry entry{"/alpha/"}; std::cout << entry << '\n'; entry.replace_filename("omega"); std::cout << entry << '\n'; } }
Ausgabe
"alpha" "omega" "/alpha/" "/alpha/omega"
[bearbeiten] Siehe auch
| weist Inhalte zu (public member function) | |
| ersetzt die letzte Pfadkomponente durch einen anderen Pfad (member function von std::filesystem::path) |