hsk123456 发表于 2020-4-2 13:38:03

新手求助!!

疑问:我已往student.dat文件中输入了10个学生的信息,但为什么读不了呢?执行程序没有任何输出。

#include<stdio.h>
#include<stdlib.h>
struct Student
{
char name;
int num;
int age;
char addr;
}stu;
void main()
{
FILE *fp;
int i;
if(fp=fopen("student.dat","rb")==NULL)
{
          printf("error!");
          exit(0);
}
// while(!feof(fp))
for(i=0;i<10;i++)
{
fread(&stu,sizeof(struct Student),1,fp);
printf("%-10s%4d%4d%2s\n",stu.name,stu.num,stu.age,stu.addr);
}
   fclose(fp);
}

hsk123456 发表于 2020-4-2 13:39:47

我调试了一下,fopen没有出错,程序调到fread的时候就自动调试完毕了

family521 发表于 2020-4-2 14:53:48

应该是 if(fp=fopen("student.dat","rb")==NULL)这一句有问题,改为 if((fp=fopen("student.dat","rb"))==NULL)试试

hsk123456 发表于 2020-4-2 17:30:46

family521 发表于 2020-4-2 14:53
应该是 if(fp=fopen("student.dat","rb")==NULL)这一句有问题,改为 if((fp=fopen("student.dat","rb")) ...

对哦!谢谢啦!!
页: [1]
查看完整版本: 新手求助!!