您的位置:首页 > 其它

error C4996: 'swprintf': swprintf has been changed to conform with the ISO C standard,set _CRT_NON_CONFORMING_SWPRINT

2015-10-09 17:19 441 查看
  在VS2013上运行一个简单程序时,出现了error C4996: 'swprintf': swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.的错误。由错误信息可以知道swprintf函数的问题,在MSDN上查询得到该函数的申明

int swprintf(
wchar_t *buffer,
size_t count,
const wchar_t *format [,
argument]...
);

且有下面这段话:

“swprintf 符合 ISO C 标准,需要 size_t 类型的第二个参数,即count。 若要强制进行早期非标准行为,请定义_CRT_NON_CONFORMING_SWPRINTFS。 在将来的版本中,旧行为可能移除,因此,应更改代码以使用新的一致性行为。”

在原来出错语句:swprintf(szTip, _T("计时:%d"), i);

修改为:swprintf(szTip, 100,_T("计时:%d"), i);

即添加了count参数后就正确了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: