• 7.CFileDialog的5个读取文件信息的函数 windows编程


      引言:今天阅读前人源码,看见一个提取文件名字的功能,用了string的函数折腾了一大堆,结果一查MsDoc,微软原来早都提供了5个用于提取文件名称的函数。

      个人技术博客(文章整理+源码): https://zobolblog.github.io/LearnWinAPI/

      最终效果:

     

    1.CFileDialog::GetPathName

    调用此函数可得到在对话框中输入的文件的完整路径。

    CString GetPathName() const;

     

    2.CFileDialog::GetFileName

    调用此函数可得到在对话框中输入的文件名的名称。

    CString GetFileName() const;

     

    3.CFileDialog::GetFileTitle

    调用此函数可得到在对话框中输入的文件的标题。

    CString GetFileTitle() const;

     

    4.CFileDialog::GetFolderPath

    调用此成员函数可得到当前打开的文件夹或目录的路径,以用于资源管理器样式的“打开”或“另存为公用”对话框。

    CString GetFolderPath() const;

     

    5.CFileDialog::GetFileExt

    调用此函数可得到输入对话框的文件名的扩展名。

    CString GetFileExt() const;

     

    6.官方网站:

     

     

    源码:

        static TCHAR BASED_CODE szFilter[] = _T("Chart Files (*.xlc)|*.xlc|")
            _T("Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|")
            _T("*.xlc; *.xls|All Files (*.*)|*.*||");
        CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter,NULL,NULL,1);
    
        if (dlg.DoModal() != IDOK)
        {
            CommDlgExtendedError();
        }
        else {
            CString filePathName = dlg.GetPathName();//完整的文件路径
            CString fileName = dlg.GetFileName();  // 只有文件名字和后缀
            CString fileExt = dlg.GetFileExt();   // 只有后缀
            CString fileTitle = dlg.GetFileTitle(); // 只有文件名
            CString path = dlg.GetFolderPath();// 只有文件路径
        }

     

    效果:

     

     

     

    本人个人技术博客: https://zobolblog.github.io/LearnWinAPI/ ,个人公众号:zobol的魔法藏书室,知乎,B站:zobol

  • 相关阅读:
    jquery操作checkbox方法(全选、全不选、至少选择一个、选择值/文本)
    如何设置tomcat服务器编码为utf-8编码
    eclipse创建文件package,source folder和folder区别及相互转换
    git常用命令
    Java程序员最常犯的错误盘点之Top 10
    最有用的java面试题
    Java面试进阶部分集合
    Java面试基础部分合集
    python作为计算器(数学用法)
    phthon入门介绍
  • 原文地址:https://www.cnblogs.com/zobol/p/16398713.html
Copyright © 2020-2023  润新知