Подтвердить что ты не робот

Преобразование wchar_t * в строку

Пожалуйста, помогите мне, как преобразовать wchar_t * var в строку varStr в консоли win32. Спасибо заранее

4b9b3361

Ответ 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 и копирует массив в выделенную память.