如何使用7个CFileDialog函数一次性读取文件信息?

2026-04-18 06:443阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计540个文字,预计阅读时间需要3分钟。

如何使用7个CFileDialog函数一次性读取文件信息?

引用:今天阅读前人源码,看到一个提取文件名的功能,用string函数折腾了一大堆,结果一查MsDoc,微软原来早就提供了解析文件名的函数了。个人技术博客(文章整理)。

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

  个人技术博客(文章整理+源码):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();// 只有文件路径 }

如何使用7个CFileDialog函数一次性读取文件信息?

效果:

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

本文共计540个文字,预计阅读时间需要3分钟。

如何使用7个CFileDialog函数一次性读取文件信息?

引用:今天阅读前人源码,看到一个提取文件名的功能,用string函数折腾了一大堆,结果一查MsDoc,微软原来早就提供了解析文件名的函数了。个人技术博客(文章整理)。

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

  个人技术博客(文章整理+源码):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();// 只有文件路径 }

如何使用7个CFileDialog函数一次性读取文件信息?

效果:

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