0

現在、私はコード(typedef _Null_terminated_ CONST WCHAR *LPCWSTR;)を持っています:

LPCWSTR wchar_string(L"ABC");

ただし、次のようなものを有効にする必要があります。

std::string s("ABC");
...
LPCWSTR wchar_string(/* create somehow from variable s */);
4

1 に答える 1

0

std::string8ビットの文字列です。 wchar_stringワイド (UTF-16) コード ポイントの配列です。これには定義上、トランスコーディング操作が必要であり、単純な割り当てではありません。

まず、8 ビット文字列はどのようにエンコードされるのでしょうか? UTF-8、Windows ANSI の「現在のコード ページ」、Latin-1 のみ、または何ですか?

次に、Windows のような関数を呼び出しMultiByteToWideCharて重い作業を行い、wchar_string が指している結果バッファーのメモリを確実に管理します。

于 2014-10-13T21:20:12.003 に答える