4996 错误不再提示的方法
来源:互联网 发布:热聊营销软件 编辑:程序博客网 时间:2024/06/10 17:30
错误提示:error 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.
具体如下,这是一个计算输入字符串长度的程序:
- #include "stdio.h"
- int main() {
- char s[30];
- char* p;
- scanf("%s", s);
- p = s;
- while (*p != '\0'){ p++; }
- printf("%d\n", p - s);
- while (1);
- return 0;
- 1>------ Build started: Project: Learnc, Configuration: Debug Win32 ------
- 1> inputandoutput.c
- 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(355,5): error MSB6006: "CL.exe" exited with code 2.
- 1>d:\five\cppproject\learnc\learnc\inputandoutput.c(8): error 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.
- 1> c:\program files (x86)\windows kits\10\include\10.0.10150.0\ucrt\stdio.h(1270): note: see declaration of 'scanf'
- ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
解释:VS认为c标准函数不安全,进行了一些处理。
要去除这个错误,有三个方法:
(1)根据提示
在文件顶部加入一行:#define _CRT_SECURE_NO_WARNINGS
- #define _CRT_SECURE_NO_WARNINGS
- #include "stdio.h"
- int main() {
- char s[30];
- char* p;
- scanf("%s", s);
- p = s;
- while (*p != '\0'){ p++; }
- printf("%d\n", p - s);
- while(1);
- return 0;
- }
(2)根据提示:
在文件顶部加入一行:#pragma warning(disable:4996)
- #pragma warning(disable:4996)
- #include "stdio.h"
- int main() {
- char s[30];
- char* p;
- scanf("%s", s);
- p = s;
- while (*p != '\0'){ p++; }
- printf("%d\n", p - s);
- while(1);
- return 0;
- }
(3)真正原因在与vs中的SDL检查。于是可以:右键单击工程文件-->属性(最后一个)--------> c/c++ ------>SDL checks ------------> no.
改前:
改后:
然后运行成功!
tips:在新建项目时可以把SDL检查勾掉(默认是yes),就可以避免此问题!
0 0
- 4996 错误不再提示的方法
- VS2010不再提示编译错误,怎样还原
- 如何使php页面中不再出现NOTICE和DEPRECATED的错误提示
- 如何使php页面中不再出现NOTICE和DEPRECATED的错误提示
- 关于BaseAdapter的getView方法提示错误
- 关闭PHP错误提示的方法
- PHP错误提示的关闭方法详解
- PHP错误提示的关闭方法
- PHP错误提示的关闭方法详解
- PHP错误提示的关闭方法详解
- yii 用户提示信息,错误提示信息的处理方法
- Eclipse中常出现的错误提示及处理方法
- 使用JS提交表单提示没有可用方法的错误
- 解决VC提示 syntax error : identifier 'LONG_PTR'错误的方法
- win7打开“我的电脑”时提示错误修复方法
- 解决vs2005 ActiveX 添加方法提示的脚本错误-解决办法
- 解决VC提示 syntax error : identifier 'LONG_PTR'错误的方法
- 解决 silverlight 安装错误:提示消息ID1603 的方法
- PAT 1060
- SpringMVC学习(七)之ModelAttribute注解
- GeekBand STL
- Java_log2000_一个有趣的重载函数栗子
- 高精度存储与计算
- 4996 错误不再提示的方法
- JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
- Android中的Service
- 开灯问题_POJ
- 两个大数相加
- Python-pickle
- NGUI之Scroll View
- CharSequence和String的区别
- 第 4 章 探究碎片