또는 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'에 대한 생성자가 있습니다. 너는 무엇을 얻 느냐? 또한 버퍼가 null로 종료 되었습니까? –
코드를 업데이트하여 포인터를 초기화했습니다. 나는 C++을 처음 사용하기 때문에 포인터와 같은 것에 대해 머리를 감싸고있다. 나는 wchar_t가 null로 끝나는 지 모른다. 나는 WinHttpQueryHeaders Funtion을 호출하고있다. - http://msdn.microsoft.com/en-us/library/windows/desktop/aa384102(v=vs.85).aspx 버퍼가 null 인지를 알 수 없었다. . – ScArcher2
@ ScArcher2 : "그게 효과가 없다"는 것은 무엇을 의미합니까? –