-2

我开始 C++ 的时间不长,并且非常努力地寻找不同的方法来读取和写入文件,但没有结果,直到我在 CodeBlocks 上尝试了它,它有效。图片附在下面,指出代码中可能存在的错误虽然相同的代码用于这两个应用程序。

错误代码: Severity Code Description Project File Line Suppression State Suppression State Error C4996 'freopen': This function or variable may be unsafe. Consider using freopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Codeforces C:\Users\owamoyo\source\repos\Codeforces\Codeforces.cpp 6

代码块

#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;
}

微软视觉工作室

#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;
}
4

2 回答 2

3
  • 首先将此添加到您的代码中
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<stdlib.h>
  • 然后将input.in和添加output.out到您的项目中
  • 然后右键单击解决方案资源管理器并选择
    • 特性
      • 配置
        • C/C++
          • 预处理器然后编辑预处理器定义并将其更改为_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)

脚步

于 2020-03-11T23:32:47.693 回答
2

只需使用freopen_s 或转到Project->Properties->Configuration Properties->C/C++->Preprocessor->Preprocessor Definitions并添加_CRT_SECURE_NO_WARNINGS

例子:

FILE *input;

errno_t e = freopen_s(&input, "input.txt", "w", stdin);
if(e)
    /* Handle that error(cannot reopen) */;

...

fclose(input);
于 2020-03-11T22:15:37.503 回答