Namensräume
Varianten
Aktionen

std::filesystem::directory_entry::replace_filename

Von cppreference.com
 
 
 
 
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

#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) [bearbeiten]
ersetzt die letzte Pfadkomponente durch einen anderen Pfad
(member function von std::filesystem::path) [bearbeiten]