またはwchar_t *を使用してwstringを初期化する方法は?wchar_t *をwstringに変換するにはどうすればよいですか?
私はこれを試しましたが、それほどうまくいきません。 私はLPVOIDを与えられ、wchar_tポインタを指しています。 私はそれをwstringに入れたいので、通常の文字列関数を使用することができます。
LPVOID lpOutBuffer = NULL;
//later in code this is initialized this way
lpOutBuffer = new WCHAR[dwSize/sizeof(WCHAR)];
//fills up the buffer
doStuff(lpOutBuffer, &dwSize);
//try to convert it to a wstring
wchar_t* t = (wchar_t*)lpOutBuffer;
wstring responseHeaders = wstring(t);
printf("This prints response headers: \n%S", t);
printf("This prints nothing: \n%S", responseHeaders);
doStuffは本当に私はちょうどそれが簡単に私の例を理解するために作ってそれを変更しWinHttpQueryHeaders の呼び出しです。
すべきです - 'wstring'にはそのためのコンストラクタがあります。何を手に入れますか?また、バッファはヌル終了していますか? –
ポインタを初期化するために何が起きているのかでコードを更新しました。私はC++を初めて使っているので、ポインタなどの頭の中で私の頭を包んでいます。私はwchar_tがnullで終了しているかどうかわかりません。私はWinHttpQueryHeaders Funtionを呼び出しています - http://msdn.microsoft.com/en-us/library/windows/desktop/aa384102(v=vs.85).aspxバッファが終端しているかどうかわかりませんでした。 – ScArcher2
@ ScArcher2:「それはかなり機能していません」とはどういう意味ですか? –