实验七文件的输入输出

1~2

#include<iostream> #include<fstream> #include<string.h> using namespace std; typedef struct { string name,num; double Buy,Sell,Deal; }Node; Node node[4]; int main() { //输出该编译器的文件。 /*ifstream fin("D:\\编程文件\\main.cpp",ios_base::in); if(fin) { char ch; while((ch=fin.get())!=EOF) cout.put(ch); } fin.close(); */ ofstream file("c:\\stock.dat",ios_base::out|ios_base::binary); if(!file) cerr<<"open error!!!"<<endl,abort(); //结束程序 for(int i=0;i<4;++i) {cin>>node[i].name>>node[i].num>>node[i].Buy>>node[i].Sell>>node[i].Deal; file.write(reinterpret_cast<char*>(&node[i]),sizeof(node[i])); } file.close(); ifstream f("c:\\stock.dat",ios_base::in|ios_base::binary); while(!f.eof())//判断是不是到文件的结尾 { Node s; f.read(reinterpret_cast<char*>(&s),sizeof(s)); cout<<s.name<<" "<<s.num<<" "<<s.Buy<<" "<<s.Sell<<" "<<s.Deal<<endl; } f.close(); system("pause"); return 0; }

3,,这个实验做的有点纠结,,,,,,,,

#include<iostream> #include<fstream> #include<string.h> using namespace std; ofstream file; class MailMan {public: bool bHaveMsg ; //是否有信息的标记 void OutMsg(); //显示用户输入的信息 void ReadMsgFromFile(); //从文件中读取信息 void SaveMsgToFile(); //向文件中保存信息 void InMsg(); //接收用户的信息 MailMan(); virtual ~MailMan() {} private: char Buf[1024]; fstream fs ; }; MailMan::MailMan() { memset(Buf,'\0',sizeof(Buf)); fs.open("C:\\msg.ini",ios_base::in|ios_base::binary); fs.close(); bHaveMsg=false; } void MailMan::SaveMsgToFile() { file.open("C:\\msg.ini",ios_base::app|ios_base::binary); file.write(reinterpret_cast<char*>(&Buf),sizeof(Buf)); file.close(); bHaveMsg=true; } void MailMan::InMsg() { cin>>Buf; cout<<endl; } void MailMan:: ReadMsgFromFile() { fs.open("C:\\msg.ini",ios_base::in|ios_base::binary); char ch; /*while((ch=fs.get())!=EOF) cout.put(ch); cout<<endl; fs.close(); */ while(!fs.eof()) { while((ch=fs.get())!=EOF) cout.put(ch); } fs.close(); } void MailMan::OutMsg() { ReadMsgFromFile(); InMsg(); SaveMsgToFile(); } int main() { file.open("C:\\msg.ini",ios_base::app|ios_base::binary); char ch[100]; cin>>ch; file.write(reinterpret_cast<char*>(&ch),sizeof(ch)); file.close(); MailMan a; a.OutMsg(); a.OutMsg(); system("pause"); }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值