自己实现像printf一样格式化显示MessageBox消息

2404 人浏览 | 时间: 2015-08-15 22:41:38 | 作者: codexia 会员文章,禁止转载

    我们很熟悉使用printf格式化输出信息,然而Win32中输出消息,格式化起来很麻烦,这里就实现了这样一个功能,可以方便的格式化显示MessageBox消息。

    vsprintf()函数用来将多参数格式化到一个字符数组中,用来实现sprintf()函数的


    自定义格式化消息实现原理如下:
    1.定义一个参数列表指针,然后va_start()将指针设置指向格式化字符串上一个位置,即第一个参数的位置。
    2.参数列表从szBuff依次压入栈中,参数是在szFormat后压入的,自然就在其上,szBuff就在最底部,最后压栈的就在最上面,这样也就可以动态识别参数的个数和处理。
    3.处理时先处理最上面的参数,依次出栈。处理完后va_end()将参数指针重置。就完成了这个功能。用这种方法可以自定义多参数函数。

    实现代码如下:


开通会员付1C币>>阅读全文
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读