CFileDialog保存文件问题

CFileDialog保存文件问题,第1张

在 pFileDlg->m_ofn.lpstrFile=cf前加上下面这句话:

pFileDlg->m_ofn.nMaxFile = 256

运行罩咐通物液纯过

原因如下:

MSDN中关于埋芹CFileDialog有以下原文:

Do this by replacing m_ofn.lpstrFile with a pointer to a buffer you have allocated, after constructing the CFileDialog, but before calling DoModal. Additionally, you must set m_ofn.nMaxFile with the number of characters in the buffer pointed to by m_ofn.lpstrFile.

大意就是要指定nMaxFile值,否则你在按下保存后

pFileDlg变为NULL了(与API的内部实现方式有关)

CFileDialog中第一个参数为false, 表示是保存文件的对话框, 而OFN_ALLOWMULTISELECT按字面意思是允许多选, 反正我是没见过保存文件的备链时候允许选择多个散轿文件, FALSE和OFN_ALLOWMULTISELECT是互斥的吧

注: 仅仅是我的看法, 没有考证冲滚肆过.

获取文件名并使用,最好使用dlg.GetPathName() 而不是GetFileName,有绝对路径打开带稿更安全。

没发现其它和标题提问相关的代码问题,这里,很可能是文件目录权限造成的,建议先检查目录权限或更换到管理员模式的完全权限镇正目录御行悔尝试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12258228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存