MFC之文件选择对话框使用

一、可绑定一个按钮事件,在事件中添加如下代码实现文件路径选择

UpdateData(TRUE);
CString szFilterFDlg = "SCDCC码(*.bmp)|*.bmp||"; 
CFileDialog fileDlg(TRUE, "cup", "", NULL, szFilterFDlg, NULL);  ///TRUE为OPEN对话框,FALSE为SAVE AS对话框
fileDlg.m_ofn.lpstrInitialDir= "c:\\windows\\"; //指定打开文件夹,如果没有此文件夹,则一般默认打开“我的文档”

if(fileDlg.DoModal() == IDOK)
{
m_sFile = fileDlg.GetPathName();
UpdateData(FALSE);
}


CFileDialog::CFileDialog( BOOL bOpenFileDialog, 

                                        LPCTSTR lpszDefExt = NULL,

                                        LPCTSTR lpszFileName = NULL,

                                        DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,

                                        LPCTSTR lpszFilter = NULL,

                                        CWnd* pParentWnd = NULL );

  参数意义如下:
  bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。
  lpszDefExt 指定默认的 文件扩展名
  lpszFileName 指定默认的文件名。
  dwFlags 指明一些特定风格。
  lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如:
  "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
  pParentWnd 为父窗口指针。

二、获取路径后,可通过access函数判断路径下文件是否存在

if(access(cpscdccFile,0)!=0)              //
{
   messagebox("文件不存在!");
}

access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在).
头文件:  #include<io.h>
            int access(const char *pathname,int mode)
参数:
         pathname:表示要测试的文件的路径
         mode:表示测试的模式可能的值有:
                 R_OK: 4 是否具有读权限
                 W_OK: 2 是否具有可写权限
                  X_OK: 1 是否具有可执行权限
                   F_OK: 0 文件是否存在
返回值:    若测试成功则返回0,否则返回-1
实例:
         说明:下面的例子用来测试指定的文件是否具有可读权限
          #include<unistd.h>
          #include<stdio.h>
          #include<stdlib.h>

          int main(int argc,char *argv[]){
                   if(argc<2){
                         printf("Usage:%s filename\n",argv[0]);
                         exit(1);}
                   if(access(argv[1],R_OK)==0){
                         printf("File:%s can read\n",argv[1]);}
                   else
                         printf("File:%s can't read\n",argv[1]);
                   return 0;
            }

PathFileExists 函数也可以用来查看一个文件或文件夹是否存在。

用法:

在头文件中

#include <shlwapi.h>

#pragma comment(lib,"Shlwapi.lib") //如果没有这行,会出现link错误

if (PathFileExists(strDBPath))
{
   //存在

}

else //不存在



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值