首页 新闻 赞助 找找看

C++文件流的问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2012-06-15 23:27

程序如下,

RDatabase是读者信息类。

 1 //构造函数初始化:读文件
 2 RDatabase::RDatabase()
 3 {
 4     cout<<"调用函数"<<endl;
 5     Reader s;
 6     top=-1;
 7     ifstream file;
 8     //ios::in以读方式打开文件,ios::binary以二进制方式打开文件(将数据在内存中的存储形式原样输出)
 9     file.open("reader.dat",ios::in|ios::binary);
10     while(1)
11     { cout<<0<<endl;
12         file.read((char*)&s,sizeof(s));
13         if(!file) break;
14         top++;
15         read[top]=s;//rdatabase.h中定义了read数组,为Reader类型
16     }
17     file.close();
18     cout<<"结束"<<endl;
19 }

其它代码不贴,因为症结在上述程序

运行程序,在输出“调用函数”和“结束”后就显示内存空间不能为read,我在程序的其他函数中都做了标记,确认没有执行其它函数,在执行完贴出来的构造函数后就报错了。。。编译连接都没错,用的是vc6.0,我没学过文件的读写一类的知识。不知道是不是上面贴出来的程序出错了捏。。。求教

c++
铁树银花的主页 铁树银花 | 初学一级 | 园豆:178
提问于:2012-06-09 13:45
< >
分享
所有回答(1)
0

单步调试确定出错的位置,构造函数不要做过多的逻辑行为,更不要说文件读写,独立出来一个方法比较好。

zsounder | 园豆:2819 (老鸟四级) | 2012-06-11 09:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册