std::experimental::filesystem::path:: append, std::experimental::filesystem::path:: operator/=
From cppreference.net
<
cpp
|
experimental
|
fs
|
path
|
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
.
|
||
|
-
|
||
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
Exécuter ce code
#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) |