//定义结构体//
struct achievement
{int number;
char name[20];
char sex;
float achievement1,achievement2,achievement3;
}tab_achievement[N];
//读出文件函数//
void read()
{FILE *fp;
int i,n;
if((fp=fopen("C:\Users\Administrator\Desktop\ab.txt","r+"))==NULL) //如果不能打开文件
{printf("cannot open file\n");
exit(0); //使程序终止
}
for(i=0;i<n;i++)
{fscanf(fp,"%d%s%s%f%f%f",tab_achievement[i].number,tab_achievement[i].name,tab_achievement[i].sex,tab_achievement[i].achievement1,tab_achievement[i].achievement2,tab_achievement[i].achievement3);
}
fclose(fp); //关闭文件
}
ab.txt中的数据
55140701 wangyiyi n 88 99 99
55140702 wangyier n 85 97 92
55140703 wangyisa w 83 91 78
55140704 wangyisi n 77 98 89
55140705 wangyiwu n 99 67 88
C:\\Users\\Administrator\\Desktop\\ab.txt
路径问题,这样试试
fopen函数中问文件路径问题,把所有的"\"换成“\”,转义符的问题。。
C:\Users\Administrator\Desktop\ab.txt 确实存在吗?
如果存在,在代码中,也应该写成:C:\Users\Administrator\Desktop\ab.txt
cannot open file就是不能打开文件的意思
文件不能打开 可能你的文件不存在 或者你没有权限
如果不是上面两者 就看看你的文件路径是不是写错了 因为文件路径中含有特殊字符