C で std::string を LPCWSTR に変換する (Unicode)
C で Unicode を使用する場合、異なる文字列間で変換する必要があるタイプがよく出てきます。このような変換の 1 つは、C 標準ライブラリの標準文字列型である std::string から、Windows API 呼び出しで頻繁に使用されるワイド文字列型である LPCWSTR への変換です。
std::string から への変換LPCWSTR は、次のコード スニペットを使用して実現できます。
std::wstring stemp = std::wstring(s.begin(), s.end()); LPCWSTR sw = stemp.c_str();
この解決策には、入力 std::string 内の文字をワイド文字に変換することによって、一時的な wstring オブジェクト stemp を作成することが含まれます。次に、wstring オブジェクトの c_str() メソッドを使用して、LPCWSTR 変数に格納できる NULL で終わるワイド キャラクタ配列へのポインタを返します。
この変換アプローチの利点には、その単純さと、プラットフォームの独立性。実装は簡単で、さまざまなオペレーティング システムやコンパイラ間で一貫して動作します。
以上がUnicode 用に C で std::string を LPCWSTR に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。