【发布时间】:2021-06-19 09:53:56
【问题描述】:
所以这是我在这里的第一个问题。如果你能帮助我,那将不胜感激。这段代码是关于我的论文的。我正在尝试写入文件并且它可以工作,但尝试读取另一个文件没有读取。我不能让它工作。屏幕上出现“文件未打开”。请帮助我,以读取文件。
#include <cstdio>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
FILE* myfile;
errno_t errorcode = fopen_s(&myfile, "output.txt", "w");
if (myfile == NULL)
{
printf("Error");
}
FILE* data;
errno_t err = fopen_s(&data, "C:\SA\input.txt", "r");
//errno_t err = fopen_s(&data, "input.txt", "r");
if(data==NULL)
{
printf("file does not open");
}
return 0;
getchar();
}
【问题讨论】:
-
if(data==NULL);你有一个额外的;这里。投票结束是错字。 -
您需要转义文件名中的反斜杠
"C:\\SA\\input.txt" -
在 C 中,'\' 是转义序列的开始。要获取实际的 '\' 字符,请连续使用两个 "C:\\SA\\input.txt"
-
以上
;cmets 都解释了问题的根源,但没有解释为什么这样做:基本上,;使您的if毫无意义,并使您的程序无论如何都执行下一条语句.基本上它会显示“文件未打开”,即使它实际上已经打开了文件
标签: c++ c visual-studio visual-studio-2019