1、文件读写操作步骤:
①包含头文件
#include <fstream>
②创建流对象
//文本文件之写
ofstream ofs;
③打开文件
ofs.open("文件路径",打开方式)
④写数据
ofs<<"写入的数据";
⑤关闭文件
ofs.close();
2、析构函数补充
WorkerManager::~WorkerManager() {
if (this->m_EmpArray != NULL) {
delete[]this->m_EmpArray;
this->m_EmpArray = NULL;
}
}
3、职工管理系统-文件交互
①在workerManager.h中添加流和宏常量:
#include <fstream>
#define FILENAME "empfile.txt"
做保存文件的抽象函数:
void save();
②在workerManager.cpp中对void save()做具体实现
void WorkerManager::save() {
ofstream ofs;
ofs.open("empfile", ios::out);
for (int i = 0; i < this->m_EmpNum; i++) {
ofs << this->m_EmpArray[i]->m_ID << " "
<< this->m_EmpArray[i]->m_Name << " "
<< this->m_EmpArray[i]->m_DeptID << endl;
}
ofs.close();
}
!!!错误!!!这里不能写“empfile”而应该写FILENAME
③同时在void Add_Emp()中加入
//释放原有空间
delete[] this->m_EmpArray;
//更改新空间的指向
this->m_EmpArray = newSpace;
//更改新的职工人数
this->m_EmpNum = newSize;
//提示添加职工成功
cout << "成功添加" << addNum << "个新职工" << endl;
//保存数据到文件中
this->save();
④点击开始调试进行测试后