freopen("Student.txt","r",stdin);
while(scanf("%s%s%s%d%s",s.num,s.name,s.sex,&s.age,s.major)!=EOF)
{
cout<<s.num<<s.name<<s.sex<<s.age<<s.major<<'\n';
}
解答:当时一直以为是freopen的问题,后来发现了问题
应该将txt文件默认的utf-8编码改为ANSI。