Win32应用中如何使用MessageBox来显示数值型变量

9 篇文章 0 订阅

开发C++应用时,有时需要跟踪某些变量值。使用MessageBox可方便地显示字符型的变量值。但对于数值型变量,如整数型与浮点型,则是一个问题。最初的思路:

 

int a = 3;

MessageBox(NULL, TEXT("") + a, TEXT("Test"), MB_OK);

 

Java中,字符串+数值 = 字符串,但在C++中行不通。

 

Win32中的wsprintf函数可设置格式化的字符串,可将数值与字符串有机地组合起来。

 

 UINT adapterModeCount = g_pD3d->GetAdapterModeCount(D3DADAPTER_DEFAULT, D3DFMT_X8R8G8B8);

 

 TCHAR szBuffer[1024];
 LPCTSTR str = TEXT("适配器的显示模式的个数: %i");
 wsprintf(szBuffer, str, adapterModeCount);


 MessageBox(NULL, szBuffer, TEXT("适配器"), MB_OK);

 

szBuffer是存放最终结果的字符串缓冲区,至多可设置1024个字符。上面的代码使用了UNICODE,TEXT宏及wsprintf均是UNICODE的对应版本,wsprintf函数中第1个参数是目标缓冲区,第2个参数是带格式的包括了字符串及数值的字符串,第3个参数是实际数值。第3个参数与str中"%i"对应,wsprintf将其代入%i后生成最终字符串。可以设置多个%i及多个数值。转换后的字符串存放在szBuffer中,因此将此字符串传至MessageBox函数显示出来。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值