为什么freopen()不在Microsoft Visual Studio上工作,而是在代码块上工作? 我开始C++的时间不长,搜索的方法很难,从文件到文件的读取和写入都没有结果,直到我在代码块上尝试过。下面附上的图片指出了代码中可能存在的错误,尽管两个应用程序上使用的代码相同
错误代码:严重性代码说明项目文件行抑制状态抑制状态 错误C4996“freopen”:此函数或变量可能不安全。考虑使用FrOpenOs代替。要禁用弃用,请使用_CRT\u SECURE\u NO\u警告。有关详细信息,请参阅联机帮助。Codeforces C:\Users\owamoyo\source\repos\Codeforces\Codeforces.cpp 6 只需使用freopens 或 转到Project->Properties->Configuration Properties->C/C++->Preprocessor->Preprocessor Definitions并添加CRT\U SECURE\u NO\u警告 例如:为什么freopen()不在Microsoft Visual Studio上工作,而是在代码块上工作? 我开始C++的时间不长,搜索的方法很难,从文件到文件的读取和写入都没有结果,直到我在代码块上尝试过。下面附上的图片指出了代码中可能存在的错误,尽管两个应用程序上使用的代码相同,c++,visual-c++,codeblocks,freopen,C++,Visual C++,Codeblocks,Freopen,错误代码:严重性代码说明项目文件行抑制状态抑制状态 错误C4996“freopen”:此函数或变量可能不安全。考虑使用FrOpenOs代替。要禁用弃用,请使用_CRT\u SECURE\u NO\u警告。有关详细信息,请参阅联机帮助。Codeforces C:\Users\owamoyo\source\repos\Codeforces\Codeforces.cpp 6 只需使用freopens 或 转到Project->Properties->Configuration Properties->
FILE *input;
errno_t e = freopen_s(&input, "input.txt", "w", stdin);
if(e)
/* Handle that error(cannot reopen) */;
...
fclose(input);
首先,将其添加到代码中
定义\u CRT\u SECURE\u NO\u弃用
包括
包括
然后将input.in和output.out添加到项目中
然后在解决方案资源管理器中单击鼠标右键并选择
性质
配置
信用证++
预处理器
然后编辑预处理器定义并将其更改为\u CRT\u SECURE\u NO\u DEPRECATE;%预定义
你有什么理由一开始就让自己经历这种痛苦吗?您正在做的事情使插入调试输出和其他有用的诊断变得烦人。您可以像普通的旧文件流一样打开input.txt和output.txt,并对这些流进行操作。无关:出于多种原因使用代码图像。不过出于兴趣,为了让VisualStudio接受include,您需要做什么样的黑客操作?你自己滚?从GCC中删除文件?MSVC会对有效代码发出警告,以试图引诱您使用其专有资料。此处的所有问题必须以纯文本形式包含问题本身的所有相关信息。链接可以随时停止工作,使问题变得毫无意义。显示为图像的代码、数据或错误无法复制/粘贴;或为进一步研究和调查而编辑或编辑。必须删除此问题,删除所有链接和图像,并用所有相关信息替换为纯文本。所有代码必须满足a的所有要求。你可以在这里找到很多其他的问题,包括纯文本的所有内容,我看不出为什么这个问题不能解决,注意:此函数或变量可能不安全警告是Visual Studio的编译器,警告您如果在中正确使用该函数,可能会出现异常故障,并建议您使用以前Microsoft特定的替代方法来清除某些故障点。基于GCC的编译器假定您知道自己在做什么,并且正确地使用了函数,并且不会向您发出警告。
#include<bits/stdc++.h>
using namespace std;
int main() {
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int n; cin >> n;
while (n--) {
int x; cin >> x;
cout << x << " ";
}
return 0;
}
FILE *input;
errno_t e = freopen_s(&input, "input.txt", "w", stdin);
if(e)
/* Handle that error(cannot reopen) */;
...
fclose(input);