숯 어레이를 WCHAR 어레이로 변환하는 가장 쉬운 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1846032

  •  12-09-2019
  •  | 
  •  

문제

내 코드에서 나는 a를 받는다 const char array 다음과 같이 :

const char * myString = someFunction();

이제 나는 그것을 a로 후 프로세스하고 싶습니다 wchar array 나중에 사용하는 기능은 좁은 문자열을 처리하지 않습니다.

이 목표를 달성하는 가장 쉬운 방법은 무엇입니까?

결국 MultibyteWideChar? (그러나 입력으로 얻는 좁은 문자열이므로 멀티 바이트 문자가 없습니다 => 아마도 가장 아름다운 솔루션은 아닐 것입니다)

도움이 되었습니까?

해결책

const char * myString = someFunction();
const int len = strlen(myString);
std::vector<wchar_t> myWString (len);
std::copy(myString, myString + len, myWString.begin());
const wchar_t * result = &myWString[0];

다른 팁

MultibyteWideChar는 좁은 문자열에서 확장 문자를 사용하지 않는 한 작동합니다. 일반 알파 숫자 문자열이라면 잘 작동합니다.

또한 약간 덜 복잡하지만 동일한 양의 제어를 제공하지 않는 MBSTOWCS를 볼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top