网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月23日漏签0天
c语言吧 关注:801,825贴子:4,376,098
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 3回复贴,共1页
<<返回c语言吧
>0< 加载中...

求助,关于c++ write及read函数的问题

  • 只看楼主
  • 收藏

  • 回复
  • lijiayi0719
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用write函数输出类
ofstream fout("m.dat",ios_base::out|ios_base::app|ios_base::binary);
fout.write((char *) &a3,sizeof a3);
但在第二次运行程序时会在读取环节出问题,弹出已停止工作,求dalao帮忙看一下
二楼放源代码


  • lijiayi0719
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <iostream>
//#include <vector>
#include <fstream>
#include <cstdlib>
using namespace std;
class A
{
private:
int a;
std::string n;
public:
A(){}
A(const int a1,const std::string n1){a=a1;n=n1;}
A(A &x){a=x.a;n=x.n;}
void print(){std::cout<<a<<n;}
};int main()
{
//std::vector<A> a;
//std::vector<A>::iterator p;
A a1(1,"a");
A a3=a1;
//读取文件m.dat
ifstream fin;
fin.open("m.dat",ios_base::in|ios_base::binary);
if(fin.is_open())
{
cout << "文件打开成功" ;
while(fin.read((char *) &a3,sizeof a3))
{
a3.print();//输出到屏幕
}
fin.close();
}
//输出到文件m.dat
ofstream fout("m.dat",ios_base::out|ios_base::app|ios_base::binary);
if(!fout.is_open())
{
cerr << "不能输出文件" ;
exit(EXIT_FAILURE);
}
a3=a1;
fout.write((char *) &a3,sizeof a3);
fout.close();
//再次读取文件
fin.clear();
fin.open("m.dat",ios_base::in|ios_base::binary);
if(fin.is_open())
{
while(fin.read((char *) &a3,sizeof a3))
{
a3.print();
}
fin.close();
}
return 0;
}


2026-02-23 06:53:38
广告
不感兴趣
开通SVIP免广告
  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
sizeof 少了个括号


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示