第二个参数为nullptr时,则用户必须要输入文件扩展名,否则GetFileExt等方法将返回一个空字符串:

 CString strFilterBwdp = _T("bwdp文件(bwdp)|*.bwdp|");CString strFilterPjte = _T("pjte文件(pjte)|*.pjte|");CString strFileFilter = strFilterBwdp + strFilterPjte;CFileDialog fileDlg(FALSE, NULL, prjParameter.GetProjectName() + L"造价接口文件", OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_OVERWRITEPROMPT, strFileFilter, NULL);CString strExt = fileDlg.GetFileExt(); // 获取为空

第二个参数默认扩展名与选择扩展名不同,或者默认的扩展名不在过滤器中,则GetFileExt等方法将返回过滤器第一个扩展名:

 CString strFilterBwdp = _T("bwdp文件(*.bwdp)|*.bwdp|");CString strFilterPjte = _T("pjte文件(*.pjte)|*.pjte|");CString strFileFilter = strFilterBwdp + strFilterPjte;CFileDialog fileDlg(FALSE, L"pjte", prjParameter.GetProjectName() + L"造价接口文件", OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_OVERWRITEPROMPT, strFileFilter, NULL);CString strExt = fileDlg.GetFileExt();        // 忽略默认扩展名,返回过滤器第一个扩展名

1、对于扩展名,以用户输入的扩展名为准,这个权重最高。
2、第二个参数nullptr时用户必须输入扩展名,对话框不会根据过滤器自动追加扩展名。
3、第二个参数只对"."过滤器才有意义。

所以如果我们需要根据过滤器自动追加扩展名的话,一般将第二个参数设置为空字符串L"",而不是nullptr即可。

CFileDialog自动追加扩展名相关推荐

  1. 下载docx变成jsp_IE下载docx扩展名的文件时,会自动将扩展名变为zip。

    sekurth 你好, 当我们从IIS或者Tomcat之类的Web服务器通过二进制流下载dotx,docx,pot等后缀的文件时,如果下载后变成zip格式的文件,那么是由于IE中对下载文件类型的判断, ...

  2. 批量给没有扩展名的文件追加新的扩展名从而修改文件名

    概要:我们平常在整理文件的时候,有一些文件是没有扩展名的,虽然这种情况对于普通人来说基本上遇不到,但是对于有些专业人士来说的话,平常有一些接触到的一些文件很多都是没有扩展名的,那么如何给这些文件添加新 ...

  3. 保存时自动加分号_CAD自动保存文件扩展名是什么?如何快速恢复自动保存文件?...

    下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: 安装卸载  异常.退出  文件及输入输出  基本操作技巧  各种设置及相关问题  界面和显示相关问题  快捷键  视图设置和调整  图层  ...

  4. 如何自动备份指定文件扩展名的文件?

    关于文件扩展名 文件扩展名,一个点后跟几个字母,例如".doc"或".jpg",构成计算机文档名称的结尾.保存文档时,请务必在单击"保存"之 ...

  5. word自动恢复文档后提示:Word无法打开该文件,因为文件格式与文件扩展名不匹配

    好多朋友在工作学习中因为忘记保存文件,而导致word文档丢失?那么如何恢复呢?word自动恢复文档后提示Word无法打开该文件,因为文件格式与文件扩展名不匹配如何解决? word自动恢复文档后提示:W ...

  6. Eclipse/MyEclipse 输入变量名后面自动追加String(已解决)

    问题描述: 在eclipse中,每次输入变量名 或者 设置一个变量名,变量 后面都追加string,例如你输入private String name,会变成private String nameStr ...

  7. 扩展名为bat的文件的创建

    一.在了解bat文件前要了解下DOS命令,DOS命令:计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令.磁盘操作类命令.文件操作类命令和其它命令.而bat文件就是 ...

  8. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

  9. html扩展名用于保存清单文件,HTML5 manifest ApplicationCache

    使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. HTML5引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问 ...

最新文章

  1. android 沉浸式状态栏的三种方法
  2. Castle IOC容器实践之EnterpriseLibrary Configuration Facility
  3. Hibernate框架--学习笔记(中):一对多配置、多对多配置
  4. Verilog MIPS32 CPU(八)-- 控制器
  5. 搜索关键字字符串NSSCanner:scanString()详解
  6. 计算机基础优秀教案范文,《计算机基础知识与基本操作》教学课例(教学设计三等奖)...
  7. How To Deploy OpenShift Container Platform 4.8 on KVM
  8. 微信小程序环境下将文件上传到 OSS
  9. 与神经网络相比,你对P图一无所知
  10. 面试时,如何向HR解释自己频繁跳槽?
  11. [ural1297]Palindrome
  12. JavaSE复习_6 枚举类
  13. python3设置编码_PYTHON3编码再探究
  14. Android5开机自动执行sh,自动脚本执行器
  15. python转换 vcf到csv 小米通信录
  16. 使用Bitmap font generator工具生成fnt文件
  17. 类库、框架、模块、组件等概念介绍
  18. python 函数式编程包_Python——详解函数式编程与闭包
  19. 电灯开关-第12届蓝桥杯Scratch省赛2真题第1题
  20. 小米AX6S刷OpenWrt和开启OpenClash,及刷回官网固件

热门文章

  1. mysql statement讲解_Statement接口详解
  2. 计算机网络——第四章
  3. 海外seo如何优化?
  4. python 操作隐藏删除 windows10 任务栏图标(Tray)(tools bar)
  5. 那个女人总会陪我喝两杯
  6. Android和servlet的互联
  7. 羊奶粉难以冲开,容易结块?
  8. PK!一个优秀程序员的自我修养
  9. 市场调研报告-全球与中国超强钢丝绳市场现状及未来发展趋势
  10. Dagger学习 -- 基础概念