Пожалуйста, помогите мне, как преобразовать wchar_t * var в строку varStr в консоли win32. Спасибо заранее
Преобразование wchar_t * в строку
Ответ 1
Используйте wstring, см. этот код:
// 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;
Ответ 2
Вы должны использовать класс wstring, принадлежащий пространству имен std. Он имеет конструктор, который принимает параметр типа wchar_t *.
Вот полный пример использования этого класса.
wchar_t* characters=L"Test";
std::wstring string(characters);
Вам не нужно использовать конструктор, содержащий String.begin() и String.end(), потому что конструктор std:: wstring автоматически выделяет память для хранения массива wchar_t и копирует массив в выделенную память.