- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:char型変数をLPCTSTR型に変換したい)
char型変数をLPCTSTR型に変換する方法は?
このQ&Aのポイント
- 外部ファイルの文字列をchar型変数に取り込み、それをLPCTSTR型に変換する方法を教えてください。
- 現在、char/THCARの変換が正しくできず困っています。開発環境はVisualStudio2010で、MFC作成(Unicode文字列)です。
- wsprintf()で変換する時点で文字列がおかしくなってしまい困っています。マルチバイト文字列を使用しない解決方法はありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
wsprintf()は入出力がワイド文字専用なので、入力にマルチバイトコードを渡しても正常に動きません。 おそらく、コード変換を意図しているものと思います。 コード変換で簡単なのは、setlocale()とmbstowcs()の組み合わせかと思います。 fscanf(); //中身省略 setlocale( LC_ALL, "ja_JP" ); mbstowcs( name_t, (const char *)name, strlen( name ) ); makedFunction( name_t ); mbstowcs()の仕様は、MSDN等を見てください。 他には、MultiByteToWideChar()というものもあり、同じ様なことができます。 ところで、なんでfscanfの第一パラメータが&fpなのでしょう? FILE* fp = fopen( "ファイル名", "r" )で読み込んでいるのであれば、fpはポインタですから、&は不要ですよね? (単に転載ミスだとは思いますが)
お礼
ご回答ありがとうございます. おかげで変換し,目的を達成することが出来ました. fscanfの第一パラメータは自分の転載ミスです.