std::filesystem::path:: make_preferred
| Member types | ||||||||||||||||||||||||||
| Member constants | ||||||||||||||||||||||||||
| Member functions | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| Path decomposition | ||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| Helper classes | ||||||||||||||||||||||||||
|
path
&
make_preferred
(
)
;
|
(depuis C++17) | |
Convertit tous les séparateurs de répertoire dans la vue au format générique du chemin en le séparateur de répertoire préféré.
Par exemple, sur Windows, où \ est le séparateur privilégié, le chemin foo / bar sera converti en foo\bar .
Table des matières |
Paramètres
(aucun)
Valeur de retour
* this
Exceptions
Peut lever des exceptions définies par l'implémentation.
Exemple
Windows peut utiliser / comme séparateur, mais préfère \ , donc make_preferred convertit les barres obliques en barres obliques inverses. D'autre part, POSIX n'utilise pas \ comme séparateur, car les barres obliques inverses sont des caractères valides pour les noms de fichiers — le chemin Windows sur POSIX fait en réalité référence à un fichier avec le nom "a \\ b \\ c" . Pour cette raison, les "séparateurs" ne sont pas convertis.
#include <filesystem> #include <iostream> int main() { std::filesystem::path windows_path("a\\b\\c"), posix_path("a/b/c"); std::cout << "Windows path: " << windows_path << " -> " << windows_path.make_preferred() << '\n' << "POSIX path: " << posix_path << " -> " << posix_path.make_preferred() << '\n'; }
Sortie :
// on Windows Windows path: "a\\b\\c" -> "a\\b\\c" POSIX path: "a/b/c" -> "a\\b\\c" // on POSIX Windows path: "a\\b\\c" -> "a\\b\\c" POSIX path: "a/b/c" -> "a/b/c"
Voir aussi
|
constexpr value_type
preferred_separator
[static]
|
séparateur de répertoire alternatif qui peut être utilisé en plus du séparateur portable
/
. Sous Windows, il s'agit du caractère barre oblique inverse
\
. Sous POSIX, il s'agit de la même barre oblique
/
que le séparateur portable
(constante de membre public static) |