当调用fread函数时第一个参数为stdout运行会出错
#include<stdio.h>
#include<string.h>
//binary二进制
typedef struct
{
int number;
char name[10];
char gender[5];//一个汉字最多4个字节
//刚刚查了一下好像是关于什么16*16点阵的,大概就是清晰度啥的吧??
//但老觉得不太对
int age;
} Student;
int main()
{
//建立s
Student s;
s.number=1001;
strcpy(s.name,"smith");
strcpy(s.gender,"M");
s.age=18;
//写文件
FILE *fp;
fp=fopen("student.dat","wb"); //wb表示二进制写,覆盖上次的内容
fwrite(&s,sizeof(Student),1,fp);
fclose(fp);
//读文件
Student stu;
fp=fopen("student.dat","rb");
// fread(&stu,sizeof(Student),1,fp);
fread(stdout,sizeof(Student),1,fp);//为什么这样不行?
/* printf("\n学号:%d;姓名:%s;性别:%s;年龄:%d\n",
stu.number,stu.name,stu.gender,stu.age); */
fclose(fp);
return 0;
}