关于Visual Studio 中“scanf”输入报错的解决方法

    有很多初次接触VS的同学会发现,当我们在写完一段代码,代码中用到scanf输入变量时,在调试编译的过程中就会出现错误:

warning 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.”
1>          d:\ckxt\vs2010\vc\include\stdio.h(304) : 参见“scanf”的声明

这个函数或者变量也许不安全,考虑使用scanf_s 替换。如果不愿意放弃使用'scanf,可以使用_CRT_SECURE_NO_WARNINGS,看它能否帮你处理

关于Visual Studio 中“scanf”输入报错的解决方法_第1张图片

    根据这个错误的描述我们会发现有两种解决办法,第一种使用scanf_s函数,但是我们细心地同学就会发现,scanf_s并不是C函数库里的原有函数,它是由VS编译器提供的函数,并不一定在所有的时候都靠谱。所以我们建议使用第二种方法,use _CRT_SECURE_NO_WARNINGS ,具体使用方法如下图所示:

1  我们在代码的第一行对_CRT_SECURE_NO_WARNINGS进行定义(重点切记一定是源代码的第一行进行定义),此时在进行调试编译就不会有scanf报错!

关于Visual Studio 中“scanf”输入报错的解决方法_第2张图片

 但是这个定义只会在当前源文件生效,当我们每新建一个C文件的时候就需要区定义它一次。这时候我们就需要一个一劳永逸的解决方法:

2  我们找到Visual Studio安装文件里Visual Studio>VC>vcprojectitems路径下的newc++file.cpp文件。将_CRT_SECURE_NO_WARNINGS编辑在这个文件里。当我们再打开Visual Studio新建C源文件都会在第一行自动定义_CT_SE_NO_WS这个指令。调式编译时不会出现scanf报错。

关于Visual Studio 中“scanf”输入报错的解决方法_第3张图片

     以上就是我摸索学习而来关于Visual Studio 中“scanf”输入报错的解决方法,如有知识错误之处,欢迎大家批评指正,共同学习,共同进步!

  

你可能感兴趣的:(visual,studio,ide,visualstudio)