CFileDialog保存文件问题

幸福官 2013-01-07 11:22:58
根据下面的代码测试一个保存文件的问题。

TCHAR szFilters[]= _T("MyType Files (*.txt)|*.txt||");
CFileDialog dlgFile(FALSE, _T("txt"), _T("*.txt"),
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilters);
CString fileName;
const int c_cMaxFiles = 100;
const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1)) + 1;
dlgFile.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize);
dlgFile.GetOFN().nMaxFile = c_cMaxFiles;

if(dlgFile.DoModal()==IDOK)
{
fileName = dlgFile.GetOFN().lpstrFile;
}
fileName.ReleaseBuffer();

问题描述:
1)在保存对话框中的“文件名”编辑框中输入“1.1”,然后点击“保存”按钮,会发现变量fileName为“C:\Users\Administrator\Desktop\1.1”
2)如果在保存对话框中的“文件名”编辑框中输入“1.2”,然后点击“保存”按钮,会发现变量fileName为“C:\Users\Administrator\Desktop\1.2.txt”

为什么第一种情况没有自动将扩展名添加上呢?
...全文
411 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lggrief 2013-11-15
  • 打赏
  • 举报
回复
为什么我用这个不行呢,无论如何都获取不到选择的扩展名
XuanYuanhao123 2013-04-24
  • 打赏
  • 举报
回复
终于发现问题了,我注册表中HKEY_CLASSES_ROOT下面有“.1”这个项。 系统将“.1”认为是扩展名了。 具体的位置在哪里?
老王爱上猫 2013-01-07
  • 打赏
  • 举报
回复
引用 4 楼 th_gsb 的回复:
引用 3 楼 bjym1987 的回复:LZ骗子,我测试了下,都有的... 请问你的系统是什么版本? 使用的开发工具是什么版本? 我是win7系统,开发工具是VS2008
xp, VS2008
幸福官 2013-01-07
  • 打赏
  • 举报
回复
引用 3 楼 bjym1987 的回复:
LZ骗子,我测试了下,都有的...
请问你的系统是什么版本? 使用的开发工具是什么版本? 我是win7系统,开发工具是VS2008
老王爱上猫 2013-01-07
  • 打赏
  • 举报
回复
LZ骗子,我测试了下,都有的...
幸福官 2013-01-07
  • 打赏
  • 举报
回复
引用 1 楼 VisualEleven 的回复:
应该都有后缀名吧
真没有,很是奇怪,难道是微软的bug?
Eleven 2013-01-07
  • 打赏
  • 举报
回复
应该都有后缀名吧
昨夜无风 2013-01-07
  • 打赏
  • 举报
回复
找到原因就好!
傻X 2013-01-07
  • 打赏
  • 举报
回复
引用 8 楼 th_gsb 的回复:
终于发现问题了,我注册表中HKEY_CLASSES_ROOT下面有“.1”这个项。 系统将“.1”认为是扩展名了。
原来是这样,汗啊
幸福官 2013-01-07
  • 打赏
  • 举报
回复
终于发现问题了,我注册表中HKEY_CLASSES_ROOT下面有“.1”这个项。 系统将“.1”认为是扩展名了。
hdg3707 2013-01-07
  • 打赏
  • 举报
回复
起文件名最好不要用".",可以用"-"来间隔
幸福官 2013-01-07
  • 打赏
  • 举报
回复
引用 5 楼 bjym1987 的回复:
引用 4 楼 th_gsb 的回复:引用 3 楼 bjym1987 的回复:LZ骗子,我测试了下,都有的... 请问你的系统是什么版本? 使用的开发工具是什么版本? 我是win7系统,开发工具是VS2008 xp, VS2008
我看了一下,好像跟程序没关系了。 在桌面上新建一个文本文件,然后另存为“1.1”,就生成一个名为“1.1”的文件, 而另存为“1.2”,就生成一个名为“1.2.txt”的文件。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧