C/C++错误集锦(VS2015):C4996错误:This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS

原文链接:http://www.juzicode.com/cpp-error-this-function-or-variable-may-be-unsafe-use-crt-secure-no-warnings

错误提示:

错误 C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. crtsecure E:\juzicode\code-msvc\crtsecure\crtsecure.cpp 6

//VX:桔子code /juzicode.com
#include "stdio.h"
int main()
{
    int x = 0;
    scanf("%d", &x);
    printf("x=%d\n",x);
    return 0;
}

错误原因:

1、在创建工程时勾选了”生命周期检查”,导致某些不安全的函数不可用

解决方法:

1、右键点击当前工程属性–选择正确的平台(主界面是x86这里也应该是x86)–配置属性–C/C++ –预处理器–预处理器定义中添加”_CRT_SECURE_NO_WARNINGS”,再重新编译。

2、右键点击当前工程属性–选择正确的平台(主界面是x86这里也应该是x86)–配置属性–C/C++ –高级–禁用特定警告,输入4996注意不要包含字母C,再重新编译。

3、再新建项目时不要勾选”安全开发生命周期检查”。

注:#pragma warning(disable:4996)只能用来忽略告警不能忽略错误。


如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注