实验七文件的输入输出

来源:互联网 发布:apache sh commands 编辑:程序博客网 时间:2024/05/19 02:40

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");}