std::filesystem::path:: make_preferred
| Member types | ||||||||||||||||||||||||||
| Member constants | ||||||||||||||||||||||||||
| Member functions | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| Path decomposition | ||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| Helper classes | ||||||||||||||||||||||||||
|
path
&
make_preferred
(
)
;
|
(desde C++17) | |
Convierte todos los separadores de directorio en la vista de formato genérico de la ruta al separador de directorio preferido.
Por ejemplo, en Windows, donde \ es el separador preferido, la ruta foo / bar será convertida a foo\bar .
Contenidos |
Parámetros
(ninguno)
Valor de retorno
* this
Excepciones
Puede lanzar excepciones definidas por la implementación.
Ejemplo
Windows puede usar / como separador, pero prefiere \ , por lo que make_preferred convierte las barras diagonales en barras invertidas. Por otro lado, POSIX no usa \ como separador, porque las barras invertidas son caracteres válidos en nombres de archivo — la ruta de Windows en POSIX realmente se refiere a un archivo con el nombre "a \\ b \\ c" . Por esta razón los "separadores" no se convierten.
#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'; }
Salida:
// 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"
Véase también
|
constexpr value_type
preferred_separator
[static]
|
separador de directorio alternativo que puede usarse además del
/
portable. En Windows, este es el carácter de barra invertida
\
. En POSIX, este es la misma barra diagonal
/
que el separador portable
(constante de miembro público estático) |