错误提示C4996的解决方法

warning C4996:'scanf:This function or variable may be unsafe. Consider using scanf_s instead.


解决方法:参考了,http://bbs.csdn.net/topics/390268847?page=1


ANSI C中没有scanf_s(),只有scanf(),scanf()在读取时不检查边界,所以可能会造成内在泄露。所以vc++2005/2008中提供了scanf_s(),在调用时,必须提供一个数字以表明最多读取多少位字符。

C/C++ code
?
1
2
3
4
5
6
7
8
9
10
11
12
#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;
}


这是ide的安全检查,和c语言本身没关系。
至于这个scanf_s,建议可以看看它的实现,如何增强安全检查和控制。


忽略就是,或者把扩展名修改为.c(原来是.cpp),没事干把scanf修改为scanf_s都是吃多了撑的(前提是你知道该怎么用scanf)


你可能感兴趣的:(错误,warning,c4996,c4996)