WCHAR配列にchar型の配列に変換する最も簡単な方法は何ですか?
質問
私のコードでは、私は次のようconst char array
を受け取ります:
const char * myString = someFunction();
今、私は私が後で使用する関数が狭い文字列を処理していないので、wchar array
としてそれを後処理したい。
この目標を達成する最も簡単な方法は何ですか?
結局MultiByteToWideCharの?
(それは私が入力として取得狭い文字列であるため、しかし、それは=>おそらく最も美しいソリューションマルチバイト文字を持っていません)解決
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];
他のヒント
あなたが狭い文字列に拡張文字を使用していない限り、
MultiByteToWideCharのが動作します。その場合は、プレーン英数字の文字列は、それが正常に動作する必要があります。
あなたも少し複雑ですが、コントロールの同じ量を提供していませんmbstowcsはで見ることができます。
所属していません StackOverflow