解答VS提示性错误:warning C4996: 'scanf': This function or variable may be unsafe.
来源:互联网 发布:淘宝剑三升级代练 编辑:程序博客网 时间:2024/05/01 20:15
我们在利用VS进行C++编写调试的时候,提示错误或警告:警告1 warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
由于VS内部的限制可能会提示你某些字符不安全,例如:printf(),scanf(),stricmp(),strcpy()!其实并不是你代码写错了,也不是C语言语法不正确,只是微软公司对VS进行的特殊限制,当我们利用其它编译器进行改代码的编写都是没有问题的,编译都可以顺利通过。
这时有可能编译不通过,那么现在经过我查阅资料现在提供链各个解决方案如下:
1.错误在提示的时候,要求我们定义一个宏:(也就是这句话:To disable deprecation, use _CRT_SECURE_NO_WARNINGS.) 那我们就顺应其要求,定义这个宏:将字符串“_CRT_SECURE_NO_WARNINGS”(不带双引号)拷贝到代码的最上方:
最佳适应法:
F2(50)->F1(100)
分配
A(30)
后:
F2(20)->F1(100)
分配
B(70)
后:
F2(20)->F1(30)
分配
C(50):
分配失败
(图示省略)
最差适应法:
F1(100)->F2(50)
分配
A(30)
后:
F1(70)->F2(50)
分配
B(70)
后:
F2(50)
分配
C(50)
后
:
无空闲区
(图示省略)
然后#deifne _CRT_SECURE_NO_WARNINGS就行了。<span style="font-size:18px;"><span style="color:#ff0000;">#define _CRT_SECURE_NO_WARNINGS</span>#include <stdio.h>int main(){int a = 0;char c =' ';int b = 0;printf("Please input a");scanf("%d",a);getchar();printf("Please input char c");scanf("%c",c);printf("Please input b");scanf("%d",b);switch (c){case '+':printf("a+b=%d\n",a+b);break;case '-':printf("a-b=%d\n",a-b);break;case '*':printf("a*b=%d\n",a*b);break;case '/':printf("a/b=%d\n",a/b);break;default:printf("The char c you've input is wrong,please input again!");}}</span>或者方法2:强制屏蔽掉编号为4996的错误,将这一段代码加入到你的源码中。
代码如下
<span style="font-size:18px;">#include <stdio.h><span style="color:#ff0000;">#pragma warning(disable:4996)</span>int main(){int a = 0;char c =' ';int b = 0;printf("Please input a");scanf("%d",a);getchar();printf("Please input char c");scanf("%c",c);printf("Please input b");scanf("%d",b);switch (c){case '+':printf("a+b=%d\n",a+b);break;case '-':printf("a-b=%d\n",a-b);break;case '*':printf("a*b=%d\n",a*b);break;case '/':printf("a/b=%d\n",a/b);break;default:printf("The char c you've input is wrong,please input again!");}}</span>
然后再进行运行就没有上述错误了!
- 解答VS提示性错误:warning C4996: 'scanf': This function or variable may be unsafe.
- VS 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
- VS编译错误C4996'scanf': This function or variable may be unsafe.
- warning C4996: 'strcpy': This function or variable may be unsafe.
- warning C4996: 'sprintf': This function or variable may be unsafe.
- warning C4996: 'fopen': This function or variable may be unsafe
- warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To
- 警告 1 warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead
- 【问题】warning C4996: 'scanf': This function or variable may be unsafe
- vs的【warning C4996:'fopen': This function or variable may be unsafe】解决方案
- vs的【warning C4996:'fopen': This function or variable may be unsafe】解决方案
- vs的【warning C4996:'fopen': This function or variable may be unsafe】解决方案
- vs的【warning C4996:'fopen': This function or variable may be unsafe】解决方案
- vs的【warning C4996:'fopen': This function or variable may be unsafe】解决方案
- VS [warning C4996]: 'sprintf': This function or variable may be unsafe. 解决
- Visual Studio 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
- 错误1error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead.
- Visual Studio 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
- 可给pdf批量添加书签的神器
- highcharts图表应用
- tcp/ip详解之笔记一
- 好慢啊
- 订阅linux kernel的mail list
- 解答VS提示性错误:warning C4996: 'scanf': This function or variable may be unsafe.
- 线程与进程在内核中的实现
- 基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service
- BigDecimal
- main函数的三个入参
- 如何查出一台linux服务器上有哪些人在登录
- CommonNext 下步
- Release版本下pthread_mutex_t死锁分析
- 八皇后问题