上面的报错说把fopen改成fopen_s可是改了之后又出现两个错误,要怎么修改才是正确的,希望有人解答一下

问题遇到的现象和发生背景

程序目的是文件的读入与在屏幕上输出
上面的报错说把fopen改成fopen_s可是改了之后又出现两个错误,要怎么修改才是正确的,希望有人解答一下

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include
#include

int main()
{
    FILE* fp;
    char ch;
    if ((fp = fopen_s("c:\\file_1.txt", "r")) == NULL) {
        printf("cannot open file!");
        getchar();
        exit(1);
    }

    while (feof(fp) != 1) {
        ch = fgetc(fp);
        putchar(ch);
    }
    printf("\n");
    fclose(fp);
}

运行结果及详细报错内容

img

img

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

我帮你改好了:

#include<stdio.h>
#include<stdlib.h>

int main()
{
    FILE* fp;
    char ch;
    //打开文件
    //这个函数成功返回0,不成功返回非0
    errno_t err = fopen_s(&fp, "c:\\file_1.txt", "r");
    if (err) {
        printf("cannot open file!");
        if (getchar()) {
            
        };
        exit(1);
    }

    while (feof(fp) != 1) {
        ch = fgetc(fp);
        putchar(ch);
    }
    printf("\n");
    fclose(fp);
}

这个是我编译成功的

img

对于fopen_s还需多传一个参数