由于一些传统C语言函数有一定的安全风险,微软在 Visual Studio 中不建议使用这些传统库函数,否则会提示C4996错误。
Visual Studio 建议采用带_s的函数,如 scanf_s、strcpy_s,但这些并不是标准C函数。
解决方案
A、文件内添加抑制
1、关闭针对特定代码行的警告(作用于行)
在该行正上方,使用warningpragma:
#pragma warning(suppress : 4996)
2、在文件中关闭警告(作用于文件)
若要在文件中针对随后的所有内容关闭警告,在文件头部使用warningpragma:
#pragma warning(disable : 4996)
或者
根据编译器提示来使用宏定义:
在文件头部添加宏:#define _CRT_SECURE_NO_WARNINGS
B、项目中添加抑制(作用于整个项目)
1、在命令行生成中关闭警告
使用/wd4996命令行选项。
2、使用全局宏定义
右键项目→属性→C/C++(预处理器)→下拉菜单→编辑
新建行,输入_CRT_SECURE_NO_WARNINGS
3、关闭SDL检查
右键项目→属性→C/C++(常规)→SDL检查(把“是” 改成 “否”)
拓展
如果使用“文件内添加抑制”的方案,则可以修改文件模版,在模板中添加特定代码。
右键 Visual Studio 快捷方式(桌面没有找开始菜单)→ 右键(属性)→ 打开文件所在的位置
进入 VC→VCProjectItems 文件夹,你可以看到 newc++file.cpp,把他复制到桌面,修改,再剪切回去,即可修改VS中新建 cpp 文件的默认内容。
另外,你可以再编写一份 “源.c” 文件,同样复制到VCProjectItems 文件夹内,即可在“新建项目”窗口看到该文件。变相提供了 .c 文件的模板。
注意:
在 “紧凑视图” 里新建 “文件名.cpp” 文件,依旧可以应用之前通过修改newc++file.cpp 而修改的cpp文件模版。
而若以此方式新建 .c 文件,则不会应用 “源.c” 的内容。如若需要使用该 “模板”,请在完整的“添加新项” 视图里选择并新建该文件。
以上就是屏蔽VisuaStudio在C++项目中C4996错误的教程,希望大家喜欢,请继续关注好代码网。
相关推荐: