关于VS2017提示I/O文件操作函数需要加上_s的解决办法

Posted 南云之苑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于VS2017提示I/O文件操作函数需要加上_s的解决办法相关的知识,希望对你有一定的参考价值。

最近不论是在写网络编程还是在写小项目时候,都会提示让我用加个_s的函数........
其实加上_s这个函数是为了确保函数的安全性,确保不会有内存不够或者溢出的情况。但是每次都需要重新看一下_s函数的新用法,尤其是在fopen_s函数的时候,提示了:

'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 

搜了fopen_s的用法又花了不少时间,所以决定看看有没有方法可以屏蔽掉这个_s,下面列出8种方法:
1.在程序最前面加#define _CRT_SECURE_NO_DEPRECATE;

2.在程序最前面加#define _CRT_SECURE_NO_WARNINGS;

3.在程序最前面加#pragma warning(disable:4996);

4.把scanf改为scanf_s;.

5.无需在程序最前面加那行代码,只需在新建项目时取消勾选“SDL检查”即可;

6.若项目已建立好,在项目属性里关闭SDL也行;

7.在工程项目设置一下就行;将报错那个宏定义放到 项目属性 -- C/C++-- 预处理器 -- 预处理器定义;

8.在 项目属性 -- c/c++ -- 命令行 添加:/D _CRT_SECURE_NO_WARNINGS 就行了。

以上是关于关于VS2017提示I/O文件操作函数需要加上_s的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

关于VS2017打开XML最大值的设置

windows系统下VS2013或者VS2017的C4996错误解决方法

javaSE I/O流—— 各种各样的流

操作系统IO模型

第3章 文件I/O_高级文件操作:存储映射

深入探究文件I/O