_CRT_SECURE_NO_WARNING错误提示解决方法。

#include <stdio.h>
int main()
{
    
    
    float f;
    printf("Enter a number: ");
    // %f 匹配浮点型数据
    scanf("%f",&f);
    printf("Value = %f", f);
    return 0;
}

这是一个简单的输入打印程序,当被codeblocks,DEV C++等低版本的编译器执行时,本该不出现任何问题。而我在使用一些高版本的如VS或VC(我这是VC 2010)来编译时,总会出现大堆的警告,甚至莫名其妙的错误。

警告	2	warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.	

根据错误提示,系统认为strcpy,scanf、fscanf、fopen等函数是不安全的,要求考虑用fscanf_s、fopen_s代替,也就是加个"_s".

第一种方法:

在指定的源文件的开头定义:#define _CRT_SECURE_NO_WARNINGS (只会在该文件里起作用)

像这样:(这种方法需要加上 #define )
在这里插入图片描述
第二种方法:(注意,不需要 #define)

鼠标右键该项目(如图temp5),找到:
**属性->配置属性->C/C++ ->命令行

在下方粘贴上_CRT_SECURE_NO_WARNINGS ,点击确定
在这里插入图片描述
在这里插入图片描述
点击确认即可。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AII_IIA/article/details/113619135