LPSTR型の文字列をLPWSTR型に変換するには?
Posted: 2009年7月15日(水) 15:49
お世話になっております。
Win XP SP3 VC++ 2008EE を使用しています。言語はVC++です。
先日ここで質問し、ファイルのプロパティの概要に文字列を書き込む方法を教えていただきました。
http://www.play21.jp/board/formz.cgi?ac ... &rln=36675
教えていただいたサンプルプログラムを元に、
コマンドラインの引数で指定された文字列を、ファイルのプロパティの概要に書き込む
プログラムを作成しています。
単純に直接代入するコードを書いたところコンパイルエラーが出たので、
文字列の型があってないのが原因と思い確認してみたところ、
WinMainの引数 lpCmdLine は、LPSTR型で、
書き込み先の構造体のメンバ propWrite.pwszVal は、LPWSTR型でした。
試しに(LPWSTR)でキャストを行い作ってみたのですが、
書き込みこそできるものの、文字化けが起こってしまいます。
例えば、
abcdefg
が
扡摣晥gFdz
になります。
LPSTR型で受けた文字列をLPWSTR型に変換するには、どのようにすればよいのでしょうか。
よろしくお願いいたします。
Win XP SP3 VC++ 2008EE を使用しています。言語はVC++です。
先日ここで質問し、ファイルのプロパティの概要に文字列を書き込む方法を教えていただきました。
http://www.play21.jp/board/formz.cgi?ac ... &rln=36675
教えていただいたサンプルプログラムを元に、
コマンドラインの引数で指定された文字列を、ファイルのプロパティの概要に書き込む
プログラムを作成しています。
単純に直接代入するコードを書いたところコンパイルエラーが出たので、
文字列の型があってないのが原因と思い確認してみたところ、
WinMainの引数 lpCmdLine は、LPSTR型で、
書き込み先の構造体のメンバ propWrite.pwszVal は、LPWSTR型でした。
試しに(LPWSTR)でキャストを行い作ってみたのですが、
書き込みこそできるものの、文字化けが起こってしまいます。
例えば、
abcdefg
が
扡摣晥gFdz
になります。
LPSTR型で受けた文字列をLPWSTR型に変換するには、どのようにすればよいのでしょうか。
よろしくお願いいたします。