【error C4996: ‘sprintf’: This function or variable may be unsafe. 】的解决方案

@[TOC]




Visual Studio 2013 编译错误【error C4996: ‘sprintf’: This function or variable may be unsafe. 】的解决方案



																				<div class="tags-box space">
							<span class="label">个人分类:</span>
															<a class="tag-link" href="https://blog.csdn.net/ture_dream/article/category/6412766" target="_blank">C++编程																</a>
						</div>
																							</div>
			<div class="operating">
								</div>
		</div>
	</div>
</div>(这里写自定义目录标题)

在VS 2013 中编译 C++ 语言项目,如果使用了 sprintf函数,编译时便会提示如下错误:

错误    5    error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.    F:\C++\HECHEN\HECHEN\FE.cpp    13    1    HECHEN

原因是Visual C++ 2013 使用了更加安全的 run-time library routines 。新的Security CRT functions(就是那些带有“_s”后缀的函数),请参见:

CRT函数的安全增强的版本

下面给出这个问题的解决方案:

方法一:将原来的旧函数替换成新的 Security CRT functions。

方法二:用以下方法屏蔽这个警告:

    1. 在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:

       #define _CRT_SECURE_NO_DEPRECATE

    2. 或声明 #param warning(disable:4996)

    3. 更改预处理定义:

        项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加:

            _CRT_SECURE_NO_DEPRECATE




参考资料:《安全模板重载

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值