デバッグ等でメッセージボックスに数字を出力させる機会があると思うのですが、
MessageBoxは文字列を引数に取るため、一旦sprintfなどで文字列に変換してから
呼び出さなければならず、結構手間がかかります。
そこでsprintfとMessageBoxをまとめて行なう関数を作ります。
コードリスト
void DebugBox(char *mes,...)
{
char string[1024];
va_list list;
va_start(list,mes);
vsprintf(string,mes,list);
va_end(list);
MessageBox(NULL,string,"",MB_OK);
}
//使い方
int day=11;
DebugBox("今日は%d日です",day);
|
可変個の引数を持つ関数を定義する場合は、該当する引数の直後に...をつけます。
va_listを使うためには、<stdarg.h>が必要です。
|