Namespaces
Variants

std::filesystem::directory_entry:: replace_filename

From cppreference.net
void replace_filename ( const std:: filesystem :: path & p ) ;
(1) (depuis C++17)
void replace_filename ( const std:: filesystem :: path & p, std:: error_code & ec ) ;
(2) (depuis C++17)

Modifie le nom de fichier de l'entrée du répertoire.

Modifie effectivement le membre path par path. replace_filename ( p ) et appelle refresh pour mettre à jour les attributs en cache. Si une erreur survient, les valeurs des attributs en cache sont non spécifiées.

Cette fonction ne valide aucune modification dans le système de fichiers.

Table des matières

Paramètres

p - le chemin à ajouter au chemin parent du chemin actuellement stocké
ec - paramètre de sortie pour le rapport d'erreurs dans la surcharge non-lancante

Valeur de retour

(aucun)

Exceptions

Toute surcharge non marquée noexcept peut lever std::bad_alloc si l'allocation de mémoire échoue.

1) Lance std::filesystem::filesystem_error en cas d'erreurs de l'API système sous-jacente, construit avec p comme premier argument de chemin et le code d'erreur du système comme argument de code d'erreur.
2) Définit un paramètre std:: error_code & au code d'erreur de l'API du système d'exploitation si un appel d'API système échoue, et exécute ec. clear ( ) si aucune erreur ne survient.

Exemple

#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';
    }
}

Sortie :

"alpha"
"omega"
"/alpha/"
"/alpha/omega"

Voir aussi

assigne le contenu
(fonction membre publique)
remplace le dernier composant du chemin par un autre chemin
(fonction membre publique de std::filesystem::path )