c++11中用_sntprintf代替_stprintf

sprintf、swprintf 
分别是对单字节/双字节字符格式化的,wsprintf根据预定义指示符的不同可以对单字节/双字节字符格式化。 wsprintf和swprintf比较,其实这两个函数对用用户来说是一样的,只不过前者是在 Winbase.h声明;后者是在stdio.h, stdlib.h文件中声明。 对于wsprintf, 在编译器编译过程中会检查你所定义的宏,然后将TCHAR.H文件中的以_tcs打头的函数转换成对应的str或wcs大头的函数。

因为历史原因,使得 sprintf 和 swprintf 的参数格式不尽一致,所以,如果使用 _stprintf 时实现 ANSI 和 Unicode 双版本编程时,当指定使用 C99 以上标准编译 Unicode 版本时,通常会警告 swprintf 出错,此时可更换使用 snwprintf 代替(注意参数也要调整),即使用 _sntprintf 代替 _stprintf 实现功能。

转载于:https://www.cnblogs.com/zxpo/p/3620971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值