将wchar_t *转换为字符串

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (168)

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

提问于
用户回答回答于

使用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数组的内存,并将数组复制到分配的内存中。

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问8 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答
  • 富有想象力的人

    3 粉丝0 提问6 回答

扫码关注云+社区

领取腾讯云代金券