Visual Studio 2017下使用scanf( )函数报错问题
1、问题:
我们在使用Visual Studio 2017(简称VS2017)编写代码时,若代码中使用了scanf( )函数,则在编译时往往会出现以下的报错情况:
2、问题原因
scanf( )函数存在访问越界问题,VS2017认为这个函数不安全,于是在其基础上变更出了更为安全的scanf_s( )函数。然而,由于scanf_s( )函数仅仅是VS所特有的函数,在进行代码移植时可能会出现其他编译器无法识别的情况,这大大降低了代码的可移植性。
3、解决方法
可在编写代码前添加#pragma warning(disable:4996)
再次编译,就编译正常啦!
但是每次编写代码都要打一遍#pragma warning(disable:4996)略显麻烦,我们可以在VS2017的安装目录下查找newc++file.cpp文件
在此之前先用管理员身份打开记事本,用记事本打开上图所示文件,在文件中键入#pragma warning(disable:4996)
点击保存,这样我们在新建项目时,就会自动生成这一行代码啦!