C编程错误相关文本文件输入 #包括 int main() { 文件*FILE=fopen_s(文件“A.test”、“r”); fputs(“Hello World!\n”,文件); fclose(文件); 返回0; }

C编程错误相关文本文件输入 #包括 int main() { 文件*FILE=fopen_s(文件“A.test”、“r”); fputs(“Hello World!\n”,文件); fclose(文件); 返回0; },c,C,这是我的密码。但我看到下面的错误 错误C4700:使用了未初始化的局部变量“文件” 我该怎么治疗?有什么问题吗?检查fopen的签名 #include <stdio.h> int main() { FILE *file = fopen_s(file, "A.test", "r"); fputs("Hello World!\n", file); fclose(file); return 0; } 您需要传递一个指向文件指针的指针,以便f_opens

这是我的密码。但我看到下面的错误

错误C4700:使用了未初始化的局部变量“文件”


我该怎么治疗?有什么问题吗?

检查fopen的签名

#include <stdio.h>

int main()
{
    FILE *file = fopen_s(file, "A.test", "r");
    fputs("Hello World!\n", file);
    fclose(file);

    return 0;
}

您需要传递一个指向文件指针的指针,以便
f_opens
可以设置其值。另外,您将使用返回值覆盖指针,因此这将是一个问题。此外,如果要对文件进行写入而不是读取,则必须以写入模式打开文件

你基本上应该读得更好,还应该读一些基本概念,比如间接寻址

int main()
{
    FILE *file = NULL;
    if (fopen_s(&file, "A.test", "r") != 0) {
         exit(EXIT_FAILURE);
    }
    fputs("Hello World!\n", file);
    fclose(file);

    return 0;
}

您需要使用
&file
作为第一个参数,并且应该检查
fopen\u s
返回的内容。它不返回文件指针。
FILE *file;
int err = fopen_s(&file, "A.test", "w");
if (err) {
    // handle error
}
fputs(...