web-dev-qa-db-ja.com

wchar_t *から文字列への変換

Win32コンソールでwchar_t*配列をstd::string varStrに変換するにはどうすればよいですか。

19
Anas90

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;
41
FelipeDurar

名前空間stdに属するwstringクラスを使用する必要があります。タイプwchar_t *のパラメーターを受け入れるコンストラクターがあります。

このクラスの完全な使用例を次に示します。

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

Std :: wstringのコンストラクターはwchar_tの配列を格納するためのメモリを自動的に割り当て、割り当てられたメモリに配列をコピーするため、String.begin()およびString.end()を含むコンストラクターを使用する必要はありません。

6