WSPRINTF格式化字符串函数

来源:互联网 发布:取餐叫号软件 编辑:程序博客网 时间:2024/05/17 21:38

Win32 API中一个很常用的函数wsprintf,这是一个字符串格式化函数,可以将数值按指定格式翻译成字符串,类似于C语言中的printf函数,它的原型是这样的:

int wsprintf(

    LPTSTR lpOut,        // 输出缓冲区地址

    LPCTSTR lpFmt,       // 格式化串地址

    ...                  // 变量列表

    变量列表的数目由格式化字符串规定,wsprintf处理格式化字符串,遇到普通的字符则直接拷贝到输出,遇到%字符则代表有一个变量,%后面不同的字母表示不同的输出格式,如%d表示输出为整数,%x表示输出为16进制,%s表示输出字符串等。

   %符号和表示格式的d,x和s等字母间可以用数字来指定输出时占用的位长,这时输出的位长不够时函数会用空格填齐。另外,表示位长的数字前可以加0来表示填齐时用“0”而非空格,如%08x表示输出为8位前面用0填齐的16进制数。

   wsprintf是Win32 API中惟一一个参数数量不定的函数,使用wsprintf函数的时候,参数的数量取决于格式化字符串中用%号指定的数量,变量列表的数目和格式化串中的%格式一定要一一对应。     而d ,x s,等字母如果大写 则说明输出的字符串为大写
    invoke wsprintf,addr szBuffer,addr szReceive,lParam,lParam

   这条语句将lParam的数值以及lParam的字符串按照szReceive格式化串定义的格式转换,并将结果存放到szBuffer中,然后程序将szBuffer中的内容在一个消息框中显示出来:

    invoke MessageBox,hWnd,offset szBuffer,addr szCaptionMain,MB_OK

原创粉丝点击