MFC文件读取以及写入

MFC文件读取以及写入

2023年7月18日发(作者:)

MFC⽂件读取以及写⼊⾃定义了⼀个结构体,将对象保存⾄容器中,并将数据写⼊⽂件保存⾄本地:struct Student{ CString m_name; CString m_sex; CString m_age;};//在OnInitDialog模拟数据并进⾏写⽂件BOOL CCFileTestDlg::OnInitDialog(){ CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化代码 CArray vec_stu; initInfo(vec_stu); CString str = _T("D://student"); if (PathFileExists(str)) { //若已存在,则删除已经存在的⽂件以及⽂件夹 myDeleteDirectory(str); } WriteFile(vec_stu); return TRUE;

}//模拟信息void CCFileTestDlg::initInfo(CArray& arr){ for (int i = 0; i < 100; i++) { Student stu; CString str; (_T("%d"),i); stu.m_age = str; stu.m_name = str; stu.m_sex = str; (stu); }}//写⽂件void CCFileTestDlg::WriteFile(CArray& vec){ CString str = _T("D://student");

CFile file; Student student; //创建⽂件夹 CreateDirectory(str, NULL); CArray vec_str; for (int i = 0; i < 10; i++) { CString str; (_T("%d"),i); vec_(str); } for (int i = 0; i < vec_e(); i++) { CString FileName(str + _T("//") + vec_str[i] + _T(".st")); for (int j = 0; j < e(); j++) { //判断⽂件是否存在 if (PathFileExists(FileName)) { //如果⽂件已经存在则写⼊ (FileName, CFile::modeWrite); } else { //如果问价不存在则创建 (FileName, CFile::modeCreate | CFile::modeWrite); } //将操作⽂件的指针偏移到⽂件最后的位置 DWORD dwPosition = ition(); (dwPosition, CFile::end); //开始写⽂件 (&vec[j], sizeof(student)); (); (); } }}//删除已存在的⽂件夹以及⽂件BOOL CCFileTestDlg::myDeleteDirectory(CString directory_path)

{ BOOL bRes = TRUE; BOOL bTemp; CFileFind finder; CString path = directory_path + _T("*.*"); BOOL bWorking = le(path); while (bWorking) { bWorking = xtFile(); path = ePath(); if (!()) { if (ctory()) { bTemp = myDeleteDirectory(path); // 递归 bRes = bTemp && bRes ? TRUE : FALSE; } else { bTemp = DeleteFile(path); // 删除⽂件 bRes = bTemp && bRes ? TRUE : FALSE; } } } bTemp = RemoveDirectory(directory_path); // 删除空⽂件夹 bRes = bTemp && bRes ? TRUE : FALSE; return bRes;}

运⾏结果:

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689610130a270361.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信