关于文件write()的问题

Greg_han 2009-09-14 10:51:58
struct book
{
char name[20];
char no[10];//编号
int num;
float price;//价格
};

#include<iostream>
#include<fstream>
#include<cstdlib>
#include"book.h"
using namespace std;

int main()
{
fstream flib("D:\\data",ios::in|ios::out|ios::binary);
if(!flib)
{
cout<<"Can't open file"<<endl;
exit(1);
}

book temp;

for(int i=0;i<6;i++)
{
cin>>temp.name;
cin>>temp.no;
cin>>temp.num;
cin>>temp.price;
flib.write((char *)&temp,sizeof(book));
cout<< temp.name<<temp.no<<temp.num<<temp.price;
}

return 1;
}

问什么进行6次输入?仅能1次输入?
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mstlq 2009-09-14
  • 打赏
  • 举报
回复
fstream flib("D:\\data",ios::in|ios::out|ios::binary|ios::app);
mstlq 2009-09-14
  • 打赏
  • 举报
回复
请楼主贴一下运行结果^_^
kouwenlong 2009-09-14
  • 打赏
  • 举报
回复
你的6次输入,最后就是最后一次输入到文件里去了.
打开文件的方式不对,以追加打开的方式就可以了.

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧