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

张春  金牌会员 | 2022-6-24 02:14:14 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 899|帖子 899|积分 2697

  引言:今天阅读前人源码,看见一个提取文件名字的功能,用了string的函数折腾了一大堆,结果一查MsDoc,微软原来早都提供了5个用于提取文件名称的函数。
  个人技术博客(文章整理+源码): https://zobolblog.github.io/LearnWinAPI/
  最终效果:
 
1.CFileDialog::GetPathName
调用此函数可得到在对话框中输入的文件的完整路径。
  1. CString GetPathName() const;
复制代码
 
2.CFileDialog::GetFileName
调用此函数可得到在对话框中输入的文件名的名称。
  1. CString GetFileName() const;
复制代码
 
3.CFileDialog::GetFileTitle
调用此函数可得到在对话框中输入的文件的标题。
  1. CString GetFileTitle() const;
复制代码
 
4.CFileDialog::GetFolderPath
调用此成员函数可得到当前打开的文件夹或目录的路径,以用于资源管理器样式的“打开”或“另存为公用”对话框。
  1. CString GetFolderPath() const;
复制代码
 
5.CFileDialog::GetFileExt
调用此函数可得到输入对话框的文件名的扩展名。
  1. CString GetFileExt() const;
复制代码
 
6.官方网站:
 
 
源码:
  1.     static TCHAR BASED_CODE szFilter[] = _T("Chart Files (*.xlc)|*.xlc|")
  2.         _T("Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|")
  3.         _T("*.xlc; *.xls|All Files (*.*)|*.*||");
  4.     CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter,NULL,NULL,1);
  5.     if (dlg.DoModal() != IDOK)
  6.     {
  7.         CommDlgExtendedError();
  8.     }
  9.     else {
  10.         CString filePathName = dlg.GetPathName();//完整的文件路径
  11.         CString fileName = dlg.GetFileName();  // 只有文件名字和后缀
  12.         CString fileExt = dlg.GetFileExt();   // 只有后缀
  13.         CString fileTitle = dlg.GetFileTitle(); // 只有文件名
  14.         CString path = dlg.GetFolderPath();// 只有文件路径
  15.     }
复制代码
 
效果:
 
 
 
本人个人技术博客: https://zobolblog.github.io/LearnWinAPI/ ,个人公众号:zobol的魔法藏书室,知乎,B站:zobol

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表