我想从C编程中的文件读取,我以为我做了一切正常,但我得到一个错误:“无法打开文件...”所以它显然没有正确访问该文件,我不能为什么。文件“A00924956Results2016”与我的程序文件位于同一控制台应用程序文件夹中。因此,我不应该使用文件路径吗?任何帮助将不胜感激。 (我已经简化了我正在尝试阅读的内容,只是为了在继续执行我的任务之前能够访问该文件)。我还将附上我的文件浏览器的截图。 如何从C编程的文件中读取数据?
#include <stdio.h>
#include <math.h>
#include <string.h>
void check(FILE*);
int main()
{
FILE *fp1;
char ch, a;
fp1 = fopen("A00924956Results2016", "r");
check(fp1);
fscanf(fp1, "%c", &a);
printf("First character is %c", a);
fclose(fp1);
getchar();
return 0;
}
void check(FILE *fp1)
{
fp1 = fopen("A00924956Results2016.dat", "r");
if (fp1 == NULL)
{
printf("Not accessing file properly\n");
}
}
您正在编译并将可执行文件保存在同一目录中吗? 另外,在check()方法中,只检查参数fp1是否为null。不要尝试再次打开文件。 – hbagdi
尝试'fp1 = fopen(“A00924956Results2016.txt”,“r”);'(默认情况下Windows默认隐藏已知的扩展名),你想要做什么:'fp1 = fopen(“A00924956Results2016.dat”,“r “);'?删除并尝试前者。 –
此外,发布此类问题时,请尽可能缩短代码。从代码中删除所有不相关的东西。总是尝试做一个[mcve] –