VC6.0和VS2010对同样的代码反应不同
同样的代码,在VC6.0中运行正常,但在VS2010中不正常啊,代码如下:程序代码:
# include<fstream> # include<iostream> using namespace std; struct Student { char id[15]; char name[20]; int age; char sex[20]; char habit[20]; }; int main() { ifstream infile("D:\\stud3.dat",ios::binary); if(!infile) { cout<<"error!!!"<<endl; exit(1); } int i=0; static Student stud[5]; while(infile.peek()!=EOF) { infile.read((char*)&stud[i],sizeof(stud[i])); cout<<stud[i].id<<'\t'<<stud[i].name<<'\t'<<stud[i].age<<'\t'<<stud[i].sex<<'\t'<<stud[i++].habit<<endl; } infile.close(); return 0; }
在VC6.0中,结果为
在VS2010中结果为