Namespaces
Variants

std::experimental::filesystem::path:: append, std::experimental::filesystem::path:: operator/=

From cppreference.net
path & operator / = ( const path & p ) ;
(1) (filesystem TS)
template < class Source >
path & operator / = ( const Source & source ) ;
(2) (filesystem TS)
template < class Source >
path & append ( const Source & source ) ;
(3) (filesystem TS)
template < class InputIt >
path & append ( InputIt first, InputIt last ) ;
(4) (filesystem TS)
1) D'abord, ajoute le séparateur de répertoire préféré à this , sauf si l'une des conditions suivantes est vraie :
* le séparateur serait redondant ( * this se termine déjà par un séparateur).
* * this est vide, ou son ajout transformerait un chemin relatif en chemin absolu d'une autre manière.
* p est un chemin vide.
* p. native ( ) commence par un séparateur de répertoire.
Ensuite, ajoute p. native ( ) au chemin d'accès maintenu par * this .
2,3) Identique à (1) , mais accepte toute std:: basic_string , chaîne multicaractère terminée par un caractère nul, ou un itérateur d'entrée pointant vers une séquence multicaractère terminée par un caractère nul.
4) Identique à (1) , mais accepte toute paire d'itérateurs qui désigne une chaîne de caractères multiples.

Table des matières

Paramètres

p - chemin à ajouter
source - std:: basic_string , chaîne multicaractère terminée par un caractère nul, ou un itérateur d'entrée pointant vers une séquence multicaractère terminée par un caractère nul, qui représente un nom de chemin (soit en format portable, soit en format natif)
first, last - paire d' LegacyInputIterator s qui spécifie une séquence multicaractère représentant un nom de chemin
Exigences de type
-
InputIt doit satisfaire aux exigences de LegacyInputIterator .
-
Le type de valeur de InputIt doit être l'un des types de caractères encodés ( char , wchar_t , char16_t et char32_t ).

Valeur de retour

* this

Exceptions

Peut lever filesystem_error en cas d'erreurs de l'API système sous-jacente ou std:: bad_alloc si l'allocation mémoire échoue.

Exemple

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    fs::path p1 = "C:";
    p1 /= "Users"; // n'insère pas de séparateur
                   // "C:Users" est un chemin relatif sous Windows
                   // l'ajout d'un séparateur en ferait un chemin absolu
    std::cout << "\"C:\" / \"Users\" == " << p1 << '\n';
    p1 /= "batman"; // insère fs::path::preferred_separator, '\' sous Windows
    std::cout << "\"C:\" / \"Users\" / \"batman\" == " << p1 << '\n';
}

Sortie possible :

"C:" / "Users" == "C:Users"
"C:" / "Users" / "batman" == "C:Users\batman"

Voir aussi

concatène deux chemins sans introduire de séparateur de répertoire
(fonction membre publique)
concatène deux chemins avec un séparateur de répertoire
(fonction)