AfxMessegeBoxに外部変数を表示させることは
できないのでしょうか?
printfの%dみたいに。。
>int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
>引数
>lpszText
>メッセージ ボックスに表示されるメッセージを持つ CString オブジェクトまたは
>NULL で終わる文字列へのポインタ。
MSDN一部引用
ご質問の意味不明なのですが、ヘルプ見てますか
追加
>printfの%dみたいに。。
は
CStringのFormatを参照しましょう
char sBuf[16];
sprintf( sBuf, %d, i);
AfxMessageBox(sBuf);
ではだめなんですか
昔作っていつもこれ使ってます、ご参考になれば、
// 今見ると馬鹿なことやってるな、とか自分でも思うところがありますが・・・
void MessageBoxF( const char* format, ... )
{
static vector<char> tmp(1000);
va_list args, source;
va_start(args, format);
source = args;
try{
while(1){
args = source;
if( _vsnprintf( &tmp[0], tmp.size(), format, args ) == -1 ){
tmp.resize( tmp.size() * 2 );
}else{
break;
}
}
}catch(...){
tmp.resize(1000);
strcpy( &tmp[0], string(MessageBoxF 失敗).c_str());
vector<char>(tmp).swap(tmp);
}
tmp.push_back('\0');
AfxMessageBox( &tmp[0] );
va_end(args);
}
簡単にやるなら
int a;
CString b;
b.Format(%d,a);
AfxMessageBox(b);
これでできますよA^^;)
いや、いちいちテンポラリのCStringでスコープ汚すのが嫌だったのと、
自分の勉強のために作ったので・・・
いつも見えるとこにおいておいてあるので、デバック中とかほとんど何も考えずに
MessageBoxF(%d,foo);
とか書いてる。
なるほど!
ぱっと見難しそうだったんでほとんど見てませんでしたA^^;)
確かに一度作ってしまえばこういった方法のが楽かもしれませんね.
参考になりましたm(_ _)m