現在、私はコード(typedef _Null_terminated_ CONST WCHAR *LPCWSTR;
)を持っています:
LPCWSTR wchar_string(L"ABC");
ただし、次のようなものを有効にする必要があります。
std::string s("ABC");
...
LPCWSTR wchar_string(/* create somehow from variable s */);
現在、私はコード(typedef _Null_terminated_ CONST WCHAR *LPCWSTR;
)を持っています:
LPCWSTR wchar_string(L"ABC");
ただし、次のようなものを有効にする必要があります。
std::string s("ABC");
...
LPCWSTR wchar_string(/* create somehow from variable s */);
std::string
8ビットの文字列です。 wchar_string
ワイド (UTF-16) コード ポイントの配列です。これには定義上、トランスコーディング操作が必要であり、単純な割り当てではありません。
まず、8 ビット文字列はどのようにエンコードされるのでしょうか? UTF-8、Windows ANSI の「現在のコード ページ」、Latin-1 のみ、または何ですか?
次に、Windows のような関数を呼び出しMultiByteToWideChar
て重い作業を行い、wchar_string が指している結果バッファーのメモリを確実に管理します。