美文网首页
C语言错误:C4996

C语言错误:C4996

作者: 瓜尔佳Anthony | 来源:发表于2019-01-30 21:07 被阅读0次

错误 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

解释:此函数或变量可能不安全。考虑使用scanf_s 替代。禁用警告请使用_CRT_SECURE_NO_WARNINGS。

原因:为了支持更加安全的新函数,已弃用某些 CRT 和标准 C++ 库函数和全局变量。 编译器会发出对这些函数的弃用警告,并建议首选函数。

调用任何一个潜在的不安全的方法在标准 C++ 库中的 编译器警告(等级 3)C4996。 若要禁用此警告,请定义代码中宏 _SCL_SECURE_NO_WARNINGS :

  • 若要仅在特定源文件中定义此宏,请将行 #define _CRT_NONSTDC_NO_WARNINGS 添加到包括标头文件的任意行之前。

#define _SCL_SECURE_NO_WARNINGS (注意:这个define一定要在任何include之前define)
或者:使用 #pragma 警告 指令:#pragma warning(disable:4996)

  • 若要在 Visual Studio 中定义此宏,请打开项目的 “属性页”对话框。

展开“配置属性” 、“C/C++” 、“预处理器” 。 在“预处理器定义” 中,添加 _CRT_NONSTDC_NO_WARNINGS。 选择“确定” 进行保存,然后重新生成项目。

相关文章

网友评论

      本文标题:C语言错误:C4996

      本文链接:https://www.haomeiwen.com/subject/csfhsqtx.html