错误提示C4996怎么处理?

mtOS1573 2012-11-04 02:08:12
使用的VS2012编译程序。
// 求两数之和.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
int a,b,sum;
printf("请输入两个整数\n");
scanf("%d,%d",&a,&b);
sum=a+b;
printf("%d",sum);
return 0;
}

错误信息
错误 1 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. f:\程序源\目标生成程序\求两数之和\求两数之和.cpp 11 1 求两数之和
...全文
36544 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yupks 2015-02-03
9L的方法可以用,虽然麻烦点,VS2013对老C不合啊
  • 打赏
  • 举报
回复
zjqzwqn 2014-05-14
在#include<stdio.h>前面加上#define _CRT_SECURE_NO_WARNINGS就可以不报错
  • 打赏
  • 举报
回复
asyuae 2014-01-01
这样真的好么? 微软为什么要做这种处理。。。要是我把代码放进别的人那里运行还得告诉他:你应该转一个VS在说
  • 打赏
  • 举报
回复
「已注销」 2013-02-18
2楼的回答很正确,我照着做解决问题了。谢谢。
  • 打赏
  • 举报
回复
nice_cxf 2012-11-05
忽略就是,或者把扩展名修改为.c,没事干把scanf修改为scanf_s都是吃多了撑的(前提是你知道该怎么用scanf)
  • 打赏
  • 举报
回复
AnYidan 2012-11-05
Consider using scanf_s instead.
  • 打赏
  • 举报
回复
ljz_zf 2012-11-05
scanf_s,看看它的实现,如何增强安全检查和控制。
  • 打赏
  • 举报
回复
jixingzhong 2012-11-04
这是ide的安全检查,和c语言本身没关系。 至于这个scanf_s,建议可以看看它的实现,如何增强安全检查和控制。
  • 打赏
  • 举报
回复
图灵狗 2012-11-04
ANSI C中没有scanf_s(),只有scanf(),scanf()在读取时不检查边界,所以可能会造成内在泄露。所以vc++2005/2008中提供了scanf_s(),在调用时,必须提供一个数字以表明最多读取多少位字符。

#include <stdio.h>
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
int a,b,sum;
printf("请输入两个整数\n");
scanf_s("%d,%d",&a,1,&b,1);
sum=a+b;
printf("%d",sum);
return 0;
}
  • 打赏
  • 举报
回复
JiMoKuangXiangQu 2012-11-04
用函数scanf_s().
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言

6.6w+

社区成员

C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
帖子事件
创建了帖子
2012-11-04 02:08
社区公告
暂无公告