Namespaces
Variants

std::filesystem::directory_entry:: replace_filename

From cppreference.net
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 Path-Mitglied durch path. replace_filename ( p ) und ruft refresh auf, um die zwischengespeicherten Attribute zu aktualisieren. Tritt ein Fehler auf, sind die Werte der zwischengespeicherten Attribute nicht spezifiziert.

Diese Funktion führt keine Änderungen am Dateisystem durch.

Inhaltsverzeichnis

Parameter

p - der Pfad, der zum übergeordneten Pfad des aktuell gespeicherten Pfades angehängt werden soll
ec - Out-Parameter für die Fehlerberichterstattung in der nicht-werfenden Überladung

Rückgabewert

(keine)

Ausnahmen

Jede Überladung, die nicht als noexcept gekennzeichnet ist, kann std::bad_alloc auslösen, wenn die Speicherallokation fehlschlägt.

1) Wirft std::filesystem::filesystem_error bei zugrundeliegenden OS-API-Fehlern, konstruiert mit p als erstem Pfadargument und dem OS-Fehlercode als Fehlercodeargument.
2) Setzt einen std:: error_code & Parameter auf den OS-API-Fehlercode, wenn ein OS-API-Aufruf fehlschlägt, und führt ec. clear ( ) aus, wenn keine Fehler auftreten.

Beispiel

#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"

Siehe auch

weist Inhalte zu
(öffentliche Elementfunktion)
ersetzt die letzte Pfadkomponente durch einen anderen Pfad
(öffentliche Elementfunktion von std::filesystem::path )