c++ - Conversión de wchar_t*a cadena
string winapi (2)
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo convierto wchar_t * a std :: string? 6 respuestas
¿Cómo puedo convertir una matriz wchar_t*
en un std::string
varStr en la consola win32?
Debe usar la clase wstring que pertenece al espacio de nombres std. Tiene un constructor que acepta un parámetro del tipo wchar_t *.
Aquí hay un ejemplo completo de cómo usar esta clase.
wchar_t* characters=L"Test";
std::wstring string(characters);
No tiene que usar un constructor que contenga String.begin () y String.end () porque el constructor de std :: wstring asigna automáticamente la memoria para almacenar la matriz de wchar_t y copia la matriz en la memoria asignada.
Use wstring, vea este código:
// Your wchar_t*
wchar_t* txt = L"Hello World";
wstring ws(txt);
// your new String
string str(ws.begin(), ws.end());
// Show String
cout << str << endl;