C++的读文件问题 我写了一个read函数想从文件中读取类,但read函数一结束就程序终止了,但第一次读取成功

第二次就不行了。调试:C++课程设计_图书管理系统.exe中的0x507dad4a(msvcp100d.dll)处最可能的异常:0xC0000005:读取位置0x004b... 第二次就不行了。
调试:
C++课程设计_图书管理系统.exe 中的 0x507dad4a (msvcp100d.dll) 处最可能的异常: 0xC0000005: 读取位置 0x004b8084 时发生访问冲突
C++课程设计_图书管理系统.exe 中的 0x507dad4a (msvcp100d.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x004b8084 时发生访问冲突

void read()
{
Book t[100];
Book temp;
int num;
ifstream inFile;
ifstream in("E:\\log.txt");
in>>num;
in.close();
cout<<num;
system("pause");
inFile.open("E:\\log.lc",ios::in | ios::binary );
for(int n=0;n<num;n++)
{
temp=t[n];
inFile.read((char *)&temp,sizeof(temp));
temp.show();
inFile.clear();

}
inFile.close();
}
关闭了的,刚刚没发全
展开
 我来答
杜茂彦rc
2011-06-12 · TA获得超过1143个赞
知道小有建树答主
回答量:1314
采纳率:100%
帮助的人:1229万
展开全部
需要知道你的Book是怎么定义的。
如果有string的话,你读入和写出时不能直接使用inFile.read((char *)&temp,sizeof(temp));
因为string里面是存储的数据指针
更多追问追答
追问
嗯,里面有sring 类的数据
public:
Book();
~Book();
void set();//修改函数
void show();//显示函数
friend std::ostream& operator<<(std::ostream&, Book&);
Book& operator = (Book &s);
private:
string name;//书名
string author;//作者
string ISBN;//书号
string press;//出版社
int pubtms;//版次
int pubtm;//出版时间
string lib_isbn;//馆藏编号
int num;//藏书数目
追答
因为有string类型,所以你不能直接read和write。
对于string类型,一般要求,写到文件时先写字符串长度,后写字符串内容。读的时候则是先读字符串长度,根据字符串长度准备空间后再读内容到string中。

要么你也可以把string改成char xxx[N]
chailai90
2011-06-12 · TA获得超过1094个赞
知道小有建树答主
回答量:1556
采纳率:50%
帮助的人:0
展开全部
用struct来读取很写入,你的CUser字段定义有问题,不能用CString这些,要用char m_username[20]并要指定大小,否则内存格式化会乱掉
追问
用struct来读取很写入?(我用class定义了一个类,里面确实有string类型的数据成员)什么意思?你是要我把里面的string类型的数据成员改成char数组?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
塔利二班
2011-06-12 · TA获得超过1993个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:414万
展开全部
你没有把文件关闭。
在read函数的最后,
加一句inFile.close();
试试看
追问
关闭了的,刚刚没发全
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明月天前
2011-06-12
知道答主
回答量:30
采纳率:0%
帮助的人:13.3万
展开全部
在read函数的最后,
加inFile.close();
追问
关闭了的,刚刚没发全
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式