はじめまして,一葉と申します。
少し分からない事があったので質問したいのですが。
関数に任意の数の変数を持っていきたいのですが、どうしたらいいのでしょうか?
void prin( int x, int y, char *comment, /* ここに任意の変数を持ってきたい */ ){
char comments[30];
wsprintf( comments, comment, /* ここに任意の変数を持ってきたい */ ); // メッセージ作成
Tex( x, y, comments ); // 表示に転送
}
void Tex( int x, int y, char *comment ){
HDC hdc; // 宣言
lpDDSBack->GetDC(&hdc); // 取得
TextOut(hdc, x, y, comment, lstrlen(comment) ); // 表示
lpDDSBack->ReleaseDC(hdc); // 解放
}
// 使用法は
// prin( 座標X, 座標Y, %d文字列%d, d1, d2 );//だったり
// prin( 座標X, 座標Y, 文字列%d, d1 );
こんな感じにしたいのですが・・・・
UNICODEを使って無ければ、こんな感じで良いのでは?
#if !defined(_countof)
#define _countof(array) (sizeof(array)/sizeof(array[0]))
#endif
void __cdecl prin(int x, int y, char *comment, ...)
{
va_list args;
va_start(args, comment);
char szBuffer[1000];
_vsnprintf(szBuffer, _countof(szBuffer), comment, args);
va_end(args);
Tex(x, y, comment);
}
ku様ありがとうございます。
おかげさまで解決する事が出来ました。