将wchar_t *转换为字符串

时间:2014-12-31 11:34:27

标签: c++ string winapi type-conversion wchar-t

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

2 个答案:

答案 0 :(得分:40)

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

答案 1 :(得分:6)

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

类型的参数

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

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

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