练习 ~黑马程序员匠心之作-第四阶段实战-基于多态的企业职工系统-P155~P159-职工管理系统-文件交互

本文介绍了如何在C++中实现企业职工系统的文件交互功能,包括写文件和读文件。首先,详细阐述了设定文件路径、成员函数声明以及文件保存功能的实现与测试。接着,讨论了文件读取的三种情况:文件未创建、文件存在但数据为空、文件存在并保存了数据。文章最后提到了初始化职工数据的方法,以及解决编码问题的两个建议。
摘要由CSDN通过智能技术生成

1、文件交互-写文件

功能描述:对文件进行读写
在上一个添加功能中,我们只是将所有的数据添加到了内存中,一旦程序结束就无法保存了
因此,文件管理类中需要一个与文件进行交互的功能,对于文件进行读写操作

1 设定文件路径

首先,我们将文件路径,在workerManager.h中添加宏常量,并且包含头文件fstream

#include<fstream>
#define FILENAME "empFile.txt"

2 成员函数声明

在workerManager.h类中添加成员函数void.save()

//保存文件
	void save();

3 保存文件功能实现

在workerManager.cpp类中实现成员函数void WorkerManager::save()

//保存文件
void WorkerManager::save()
{
	ofstream ofs;
	ofs.open(FILENAME, 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();
}

在workerManager.cpp类中实现添加功能的成员函数void WorkerManager::Add_Emp()提示添加成功前加入

//成功添加后 保存到文件中
		this->save();

4 保存文件功能测试

在这里插入图片描述
同级目录下多出文件,并且保存了添加的信息

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值