如何在win32控制台中将wchar_t*
数组转换为std::string
varStr。
答案 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>