排除 vs2005 中的不安全函数警告
2008-11-12 19:27:50 来源:WEB开发网下面的代码:
#include <stdio.h>
#include <minmax.h>
int main( )
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
return 0;
}
使用vs2005编译时会遇到这样一个warning: warning C4996: 'scanf' was declared deprecated
其实 warning C4996的详细含义就是:'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.翻译过来,就是scanf的声明在VS2005中被认为是不安全的,让你使用scanf_S来代替。
知道了原因,那解决就方便了,只要在#include <stdio.h>前面添加#define _CRT_SECURE_NO_DEPRECATE 或者 scanf函数修改为scanf_s即可。具体如下:
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <minmax.h>
int main( )
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
return 0;
}
或者
#include <stdio.h>
#include <minmax.h>
int main( )
{
int a,b,c;
scanf_s("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
return 0;
}
- ››安全第一 Windows 7五件应该知道的事
- ››VS2008 安装失败(“Web 创作组件”无法)的解决办...
- ››VS调用存储过程
- ››VS2005无法远程连接SQL数据库问题
- ››安全连接Internet-让ISA Server 2006做为企业中的...
- ››安全技巧 保护IP地址的五种超级方法
- ››VS2010 Express中文版已经发布至MSDN
- ››安全专家称iPhone漏洞可泄露用户信息
- ››安全意识淡薄成反垃圾邮件“隐形炸弹”
- ››VS2008C# 开发 Windows Mobile 6.0程序应注意的几...
- ››VS08中最简单也最实用的Ajax无刷新技术
- ››VS2003+nds OR VS2003+carbide.vs 开发 Symbian 程...
赞助商链接