VS2017,再用到FILE写入时,遇到如下报错
今日报错系列:‘fopen‘: This function or variable may be u
在一顿搜索尝试之后,什么按步骤 【打开项目 >> 属性 >> C/C++ >>预处理器 >> 预处理器定义 】内添加 _CRT_SECURE_NO_WARNIN 等等这些都没有效果。

最终是这样解决的:

在程序最前面添加:#define _CRT_SECURE_NO_DEPRECATE 后解决问题。

#define _CRT_SECURE_NO_DEPRECATE 

举个栗子:

#define _CRT_SECURE_NO_DEPRECATE //加到此处解决问题
#include <iostream>
using namespace std;

void main()
{
    FILE *fp = fopen("myFileFp.txt","w");
    char str[] = "hello world !";
    for (int i = 0; i < 1000; i++)
    {
        fprintf(fp," 第 %d 个 %s ;\n",i,str);
    }
    fclose(fp);
}

文件打开后:从0 - 999 个 hello world !;
今日报错系列:‘fopen‘: This function or variable may be u
下面把找到的资料先放到这,以备参考:

解决fopen、fscanf 在VS中要求替换为fopen_s、fscanf_s的最全解决办法 -------------- ps:在使用MFC中遇到上述问题,可以通过方法三解决方法一:在程序最前面加#define _CRT_SECURE_NO_DEPRECATE;

方法二:在程序最前面加#define _CRT_SECURE_NO_WARNINGS;

方法三:在程序最前面加#pragma warning(disable:4996);

方法四:把scanf、scanf改为scanf_s、fopen_s,具体方法请百度;

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

方法六:若项目已建立好,在项目属性里关闭SDL也行;

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

方法八:在 项目属性 – c/c++ – 命令行 添加:/D _CRT_SECURE_NO_WARNINGS 就行了。