172上位机VC MFC判断文件和文件夹存在与否
172上位机VC MFC判断文件和文件夹存在与否
功能展示
在上位机参数保存到硬盘文件前,都会事先判断下文件是否存在,如果不存在参数就会保存失败,所以在知晓文件不存在情况下我们才能进不步处理让参数成功保存,我们当前例程用一方法实现文件或文件平存在与否的判断,效果如图; 要点提示 文件或是文件夹存在与否是判断可以用函数_access(), 函数原型为_access(path,mode);第一参数为要判断的文件或文件夹路径;第二参数为要判断什么,是判断存在,还是可写?可读?都可以通过设置第二参数进行实现 mode: 00 Existence only 02 Write permission 04 Readpermission 06 Read and write permission 函数的使用得添加它所在的头文件#include<io.h>
实现功能 1.新建基于对话框的应用程序 2.拖拽一静态文件控件ID为IDC_NOTE,用于显示判断的结果; 拖拽一编辑框ID为IDC_EDIT1,用于显示要判断文件的路径 ; 拖拽一按钮关联函数,用于实现选择要判断的文件; 拖拽一按钮关联函数,用于判断文件是否存在;
额外再拖拽两编辑框IDC_EDIT2,IDC_EDIT3,用于测试保存数据,下面是按钮对应函数 - void CGkbc8Dlg::OnAdd()
- {
- CFileDialog Dlg(TRUE,".ini","gkbc8",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"INI文件(*.ini)|*.ini||");
- if(IDOK == Dlg.DoModal())
- {SetDlgItemText(IDC_EDIT1,Dlg.GetPathName());}
- CString sFile;
- GetDlgItemText(IDC_EDIT1,sFile);
- if( (_access( sFile, 0 )) != -1 )
- {CString sData;
- GetDlgItemText(IDC_EDIT2,sData);
- ::WritePrivateProfileString("DATA","X_POS",sData,sFile);
- GetDlgItemText(IDC_EDIT3,sData);
- ::WritePrivateProfileString("DATA","TEMP",sData,sFile);
- SetDlgItemText(IDC_NOTE,"文件存在");}
- else SetDlgItemText(IDC_NOTE,"文件不存在"); }
复制代码我们来演示下功能实现的整个过程
|