WSPRINTF用法

【转自:http://snapshot.sogoucdn.com/websnapshot?ie=utf8&url=http%3A%2F%2Fwww.cppblog.com%2Fliuxubin%2Farchive%2F2007%2F08%2F14%2F29993.html&did=84b647185f9eaaf4-ae6d3afbd9bf8925-4555f1571762bdf14621b601069753ce&k=94baef4646d618f937a4ecd2f94ed96e&encodedQuery=wsprintf%E7%94%A8%E6%B3%95&query=wsprintf%E7%94%A8%E6%B3%95&&hdq=AQxRG-0000&duppid=1&w=01020400&m=0&st=1】

1.在C语言中格式化字符串可以使用printf,

2.但是在WINDOWS编程设计中却行不通了,但是却有变通的方法,那就是用 wsprintf这个函数 

wsprintf 根据unicode宏是否定义,自动使用短字符或长字符 

windows使用wsprintfA输出短字符,wsprintfW输出长字符

它的格式如下:

wsprintf(缓冲区,格式,要格式化的值);

第一个参数是字符缓冲区,后面是格式字符串,wsprintf不是将格式化结果写到标准输出,而是将其写入缓冲区中,该函数返回该字符串的长度。

比如我们想通过MessageBox来输出一个整形变量的值,可以用以下代码实现:
char szBuffer[100];
ing number=100;
wsprintf(szBuffer, “%d”,number);
MessgaeBox(NULL,szBrffer,TEXT(“格式化字符串”),0);
这个函数除了将内容格式化输出到第一个参数所提供的字符串缓冲区以外,其它功能与printf函数相同
3.与 sprintf的区别

sprintf (C) 对应 wsprintfA (WinAPI)
swprintf (C) 对应 wsprintfW (WinAPI)
_stprintf (C 宏) 对应 wsprintf (WinAPI 宏)
在 Windows 程序中应使用 wsprintf。如果要格式化浮点数或 64 位整数,还是得需要 _stprintf (sprintf/swprintf)。


你可能感兴趣的:(WSPRINTF用法)