⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p211.cpp

📁 《C++编程指南(续编)》的一些程序源代码
💻 CPP
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -