wsprintf sprintf printf

本文详细介绍了wsprintf、sprintf及printf三个格式化字符串函数的区别与联系。解释了如何使用这些函数将不同类型的数值转换成字符串,并展示了它们在实际编程中的应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      int wsprintf( LPTSTR lpOut, // 输出缓冲区,最大为1024字节
  LPCTSTR lpFmt, // 格式字符串
  ... // 需输出的参数);

  The wsprintf function formats and stores a series of characters and values in a buffer.

  使用此函数可将数字转为字符串;而且可以用它来连接多个字符串和数字。

  例:

  int x=6;

  LPTSTR szBuffer=new TCHAR[1024];

  wsprintf(szBuffer,“%d“,x);

  MessageBox(NULL,szBuffer,““,MB_OK);
      连接多个字符例如:
      wsprintf(szBuffer,“COM%d“,x);

  其中第三个参数的类型等是由格式字符串的类型控制的。

  对比 sprintf

  sprintf 同样是个变参函数,定义如下:

  int sprintf( char *buffer, const char *format [, argument] ... );

  除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。
  wsprintf & sprintf 两者的区别:

  wsprintf对应的字符串是宽字符型wchar_t,即一个字符占用2个字节的内存空间.

  sprintf对应的字符串是字符类型为char,即一个字符占用1个字节的内存空间.

  sprintf是用于对ASCII码的127个字符进行操作,wsprintf是对UNICODE的多语言字符进行操作.比如中文,就要用wsprintf.

  对比 printf

  printf 和sprintf printf()函数是格式输出函数,printf()的基本形式: printf("格式控制字符串",变量列表);

  eg: printf("The %d CEOs drank %f cups of expresso.\n",number,expresso);

  sprintf & printf 两者的区别:

  在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。

  wsprintf & sprintf & printf 的相同点

  都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值