由于VS2019编译器的特殊性,在调用一些函数时会出现类似以下错误:
错误 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.
这是因为这些C库函数很多没有内部检查,微软担心这些函数可能造成栈溢出,所以改写了这些函数,并在原来的函数名字后加上_s和C库函数区分,比如strcpy变为strcpy_s等
解决方法:
1:
将原来所有的函数名全部改成微软改写后的函数名,如scanf_s()。
2:
在解决方案资源管理器中····> 项目属性····> c/c++····> 预处理器中选择,预处理定义,在其中加入宏定义:_CRT_SECURE_NO_WARNINGS
3.在文件顶部加入一行:#define _CRT_SECURE_NO_WARNINGS
三种方法都可以。