转 https://blog.csdn.net/oguro/article/details/52685662
版权声明:本文为博主原创文章,未经博主允许不得转载。 <a class="copy-right-url" href=" https://blog.csdn.net/oguro/article/details/52685662"> https://blog.csdn.net/oguro/article/details/52685662</a>
</div>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css">
<div class="htmledit_views" id="content_views">
在VS中调用 scanf、sprintf、strcpy、strcat 等函数时常常会提示 _CRT_SECURE_NO_WARNINGS 警告,原因是Visual studio C++不是真正的C++,而是经过Microsoft公司优化的。本人猜测也许是微软公司的那些开发工程师们认为这些C函数功能内部没有对内存做边界检查,极有可能造成内存越界等问题,所以设置了不安全警告。
第一种解决方法:
屏蔽scanf() 函数的错误,代码中添加以下代码,要放到文件最上面!
#define _CRT_SECURE_NO_WARNINGS
第二种解决方法:
在vs 中,打开项目 -> 属性 -> C/C++ -> 预处理器 -> 预处理器定义中添加 _CRT_SECURE_NO_WARNINGS 这个预定义。