std::filesystem::path::c_str, std::filesystem::path::native, std::filesystem::path::operator string_type()
De cppreference.com
< cpp | filesystem | path
const value_type* c_str() const noexcept; |
(1) | (desde C++17) |
const string_type& native() const noexcept; |
(2) | (desde C++17) |
operator string_type() const; |
(3) | (desde C++17) |
Accede al nombre de ruta de acceso nativo como una cadena de caracteres.
1) Es equivalente a native().c_str().
2) Devuelve la representación en formato nativo del nombre de ruta de acceso por referencia.
3) Devuelve la representación en formato nativo del nombre de ruta de acceso por valor.
Contenido |
[editar] Parámetros
(Ninguno)
[editar] Valor de retorno
La representación de la cadena nativa del nombre de la ruta, utilizando la sintaxis nativa, el tipo de carácter nativo y la codificación de carácter nativo. Esta cadena es adecuada para su uso con las API del sistema operativo.
[editar] Notas
La función de conversión (3) se proporciona para que las API que aceptan nombres de archivo usando std::basic_string puedan usar nombres de ruta de acceso sin cambios en el código.
[editar] Ejemplo
Ejecuta este código
#include <cstdio> #ifdef _MSC_VER #include <io.h> #include <fcntl.h> #else #include <locale> #include <clocale> #endif #include <fstream> #include <filesystem> int main() { #ifdef _MSC_VER _setmode(_fileno(stderr), _O_WTEXT); #else std::setlocale(LC_ALL, ""); std::locale::global(std::locale("")); #endif std::filesystem::path p(u8"要らない.txt"); std::ofstream(p) << "File contents"; // Antes de LWG2676 usa operador string_type() // en MSVC, donde string_type es wstring; solo // funciona debido a extensión no estándar. // Posterior a LWG2676 usa nuevos constructores de fstream // la representación de cadena nativa puede usarse con las API del SO if (std::FILE* f = #ifdef _MSC_VER _wfopen(p.c_str(), L"r") #else std::fopen(p.c_str(), "r") #endif ) { int ch; while((ch=fgetc(f)) != EOF) putchar(ch); std::fclose(f); } std::filesystem::remove(p); }
Posible salida:
Contenido del archivo
[editar] Véase también
Devuelve la ruta de acceso en un nombre de ruta de acceso convertido a una cadena. (función miembro pública) | |
Devuelve la ruta de acceso en formato de nombre de ruta de acceso genérico convertido en una cadena. (función miembro pública) |