将 wchar_t* 转换为字符串

Conversion of wchar_t* to string

本文关键字:转换 字符串 wchar      更新时间:2023-10-16

如何在 win32 控制台中将wchar_t*数组转换为 std::string varStr。

使用 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;

你应该使用属于命名空间 std 的 wstring 类。它有一个接受 wchar_t* 类型的参数的构造函数。

下面是使用此类的完整示例。

wchar_t* characters=L"Test";
std::wstring string(characters);

您不必使用包含 String.begin() 和 String.end() 的构造函数,因为 std::wstring 的构造函数会自动分配内存来存储wchar_t数组并将数组复制到分配的内存中。