p211.cpp
来自「《C++编程指南(续编)》的一些程序源代码」· C++ 代码 · 共 64 行
CPP
64 行
#include <fstream>
#include <string>
#include <iostream>
#include "student.h"
#include "XError.h"
void saveTheStudents(char * pszTempFileName)
{
ofstream out(pszTempFileName);
if(out.fail())
{
throw XFileError("saveTheStudent",
pszTempFileName,
"can't open for save",
XFileError::FILE_CREATE_ERROR);
}
Student sJenny("Davis","Jenny",12,555555555L);
sJenny.save(out);
Student sLynn("Prater","Lynn",12,444444444L);
sLynn.save(out);
Student sCorder("Corder","Mary",10,333333333L);
sCorder.save(out);
}
void restoreAndDisplay(char * pszFileName)
{
ifstream in(pszFileName,ios::in);
if(in.fail())
{
throw XFileError("restoreAndDisplay",
pszFileName,
"can't open for restore",
XFileError::FILE_NOT_FOUND);
}
int i=0;
Student * pStudent;
while(!in.eof())
{
if(pStudent=Student::restore(in))
{
cout<<" # "<<++i
<<" - "<<(*pStudent)
<<"\n";
delete pStudent;
}
}
}
int main(int ,char **)
{
try
{
saveTheStudents("D:\\sfile.txt");
restoreAndDisplay("D:\\sfile.txt");
}
catch (XError& xerror)
{
cout<<"Fatual error in program : "<<endl;
xerror.display(cout);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?