注册 登录
编程论坛 C++教室

VC6.0和VS2010对同样的代码反应不同

燕归来123 发布于 2012-07-18 13:23, 463 次点击
同样的代码,在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中结果为
只有本站会员才能查看附件,请 登录
2 回复
#2
燕归来1232012-07-18 21:57
回复 楼主 燕归来123
自己顶一下!!!
#3
jiantiewen2012-07-21 22:54
看看两个版本中各个编译、链接的参数是否都一样?
1