关于让VS中scanf_s消除

  • Post author:
  • Post category:其他


我们在使用vs2010以上IDE时,经常会出现报错说让scanf换成scanf_s这是一种安全周期检测,最新的微软编译器认为scanf的使用存在安全隐患,因为C/C++中的字符串处理都是以\0为截止符的,如果搜索不到\0,容易出现字符串越界所有vc扩展的所谓安全标准库,都添加了一个参数用以指定字符串参数的长度,用以避免这种安全隐患。

如何避免出现这种事情:

1.关闭安全开发检测

2.在工程属性->预处理器中找到预处理器定义添加一行_CRT_SECURE_NO_DEPRECATE

3.在代码开头加一行#pragma warning(disable:4996)

//第三种方法可以消除下面的警告,比较好用

当然大家可以直接用scanf_s,还是不复杂的。



版权声明:本文为lxasmall_white原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。