查找当前目录下文件是否存在,不存在则弹出选择文件对话框

本文介绍了一个使用CFile类实现的选择文件对话框的应用案例。通过弹出对话框询问用户是否使用已存在的文件,若文件不存在或用户选择不使用,则进一步弹出文件选择对话框供用户选择文件。

需求:

1. 在当前目录下查找某文件,若该文件存在,弹出对话框,按【是】则return文件名,按【否】则弹出选择文件对话框,选择文件后按【打开】则返回该文件的文件名,若在选择文件对话框中按【取消】,则返回空。

2. 用CFile类实现选择文件对话框。

 

CString 类名::GetResultFileName()
{
 CString name = "";
 CFileFind find;  
 CFileDialog fDlg(true, NULL, NULL, OFN_NOCHANGEDIR|OFN_OVERWRITEPROMPT|OFN_EXPLORER|OFN_LONGNAMES,  "DataFile(*.txt)|*.txt", this); 
 fDlg.m_ofn.lpstrInitialDir = ".//"; 

 

 if(find.FindFile("abc.txt"))   //若当前目录下abc.txt文件存在
 {
  if(::MessageBox(NULL, "abc.txt文件存在,是否需要上传", "文件上传", MB_YESNO)== IDYES)   //弹出对话框并按【是】
  {
   return "abc.txt"; //返回文件名
  }

 }

 

 if (fDlg.DoModal() == IDOK) //DoModal()负责弹出选择文件对话框,无论当前目录下abc.dat文件存在与否都执行,若按【打开】

进入if内,获取文件名,若按【取消】,直接return name的初始值-空。
 {
  name = fDlg.GetPathName();
 }
 return name;

}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值