@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

VC++2005ベータ版

1
投稿者投稿内容
ニート
会議室デビュー日: 2005/11/25
投稿数: 14
投稿日時: 2005-11-25 14:01
ベータ版で下記のフ゜ロク゛ラムを組んでみましたが、実行するとVCのMessageBoxのタイトルや中身が文字化けしてしまいます。WINMAIN関数は2005ではVC++6.0や2003とは別のものになるのでしょうか。教えてください。
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nShowCmd)
{
char Msg[255];
     int Total=5050; 
sprintf( Msg,"1から100までの加算結果は %d です。", Total);
MessageBox(NULL,&Msg[0],"課題1",MB_OK);
return(0);
}
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2005-11-26 02:13
構成プロパティの文字セットがUnicodeになっていませんか?
(自動生成するとUnicodeになる)

Unicodeだったらchar型の配列ではMessageBoxはつかえないですよ。
# でも、エラーが出るはずだが、、、

TCHAR a[ 255 ] = { 0 };
int Total = 5050;
wsprintf( a, _TEXT( "1から100までの加算結果は %d です。" ), Total );
MessageBox( NULL, a, _TEXT( "課題1" ), MB_OK );
return( 0 );

で上手くいくか確認してみてください。
ニート
会議室デビュー日: 2005/11/25
投稿数: 14
投稿日時: 2005-11-27 20:04
Blueさん、ありがとうございました。
構成プロパティの文字セットはどこで設定するのでしょうか。

また、教えていただいたように試してみたところ、下記のエラーが出ました。
・関数_TEXTは定義されていません。
・wsprintfの型が2の仮引数および実引数と異なります。
・MessageBoxの型が3の仮引数および実引数と異なります。

よろしければ、ご回答お願い致します。
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2005-11-28 02:24
引用:

構成プロパティの文字セットはどこで設定するのでしょうか。


は、ソリューションエクスプローラのツリーの
一番上のやつ(プロジェクト名だけのやつ)を右クリックして一番下のプロパティを選択すると、
構成プロパティの全般のプロジェクトの規定値の中にあります。

引用:

また、教えていただいたように試してみたところ、下記のエラーが出ました。
・関数_TEXTは定義されていません。
・wsprintfの型が2の仮引数および実引数と異なります。
・MessageBoxの型が3の仮引数および実引数と異なります。


#include <tchar.h>
を適当なところに追加してください。

[ メッセージ編集済み 編集者: Blue 編集日時 2005-11-28 02:25 ]
ニート
会議室デビュー日: 2005/11/25
投稿数: 14
投稿日時: 2005-11-28 15:55
Blueさん、ありがとうございました。
解決しました。
感謝感激です。
1

スキルアップ/キャリアアップ(JOB@IT)