wsprintf不支持浮点类型,而sprintf支持

int wsprintf(
    LPTSTR lpOut,  // 输出缓冲区,最大为1024字节
  LPCTSTR lpFmt, // 格式字符串 
  ...);          // 需输出的参数,多少个参数都可以的,最起码前两个必须有.

函数作用:
  函数 wsprintf() 将一系列的字符和数值输入到缓冲区。
  输出缓冲区里的的值取决于格式说明符(即"%")。
  如果写入的是文字,此函数给写入的文字的末尾追加一个 '\0'。
  函数的返回值是写入的长度,但不包括最后的 '\0'。


我们在接触C语言的时候还接触过一个 sprintf() 的函数,用法和 wsprintf() 基本一样,区别在于:
wsprintf()包含在头文件 windows.h 中,sprintf() 包含在头文件 stdio.h 中。
wsprintf 其实分为 wsprintfA 和 wsprintfW 两个版本,前者对应 sprintf,后者对应 wsprintf。
wsprintf 有 1024 字符限制,而且不支持浮点数。
所以注意了,该函数不支持浮点数的输入输出。
 
如果要输出浮点数,在 ASCII 编码方式下可以使用 sprintf,在 UNICODE 编码方式下可以使用 swprintf。通用的方法是使用宏 _stprintf,这样在两种编码方式下都可以编译通过。

posted @ 2011-06-28 17:04  Atypiape2  阅读(1451)  评论(0编辑  收藏  举报