MFC CopyFile()复制文件时路径问题

为什么CopyFile()复制文件时,写成m_strPath=dlg.GetPathName();CopyFile(m_strPath,"D:\\图片\\111.jpg"... 为什么CopyFile()复制文件时,写成
m_strPath=dlg.GetPathName();
CopyFile(m_strPath,"D:\\图片\\111.jpg");会出错

而直接用路径就不会错,例如:
CopyFile("E:\\壁纸\\008.jpg","D:\\图片\\111.jpg");就不会错

难道用GetPathName();获得的路劲不可以直接用吗?要怎么改用m_strPath才不会出错啊?
展开
 我来答
来自杏花村大气的木星
2013-03-14 · TA获得超过4045个赞
知道小有建树答主
回答量:773
采纳率:33%
帮助的人:989万
展开全部
你的写法是不是有问题啊?试试仿照我这个写呢:

CFileDialog dlg(TRUE);// TRUE为open对话框,FALSE 为 Save As 对换框
if(dlg.DoModal()==IDOK)
{
CString str=dlg.GetPathName();
MessageBox(L"选择保存的路径是:" + str);
}

这是令一个方法,也拿去试试。
我直接把自己的代码贴过来了,没有怎么改,相信你能看得懂,知道哪些有用,哪些没用,偷个小懒,嘿嘿!
BROWSEINFO bBinfo;
memset(&bBinfo,0,sizeof(BROWSEINFO));// 定义结构并初始化
TCHAR strTmp[255];
LPITEMIDLIST lpDlist;
bBinfo.hwndOwner = m_hWnd;// 设置对话框所有者句柄
bBinfo.lpszTitle = L"请选择拷贝的源路径:";
bBinfo.ulFlags = BIF_RETURNONLYFSDIRS;// 设置标志只允许选择目录
// 用来保存返回信息的IDList,使用SHGetPathFromIDList函数转换为字符串
lpDlist = SHBrowseForFolder(&bBinfo);// 显示选择对话框
if (lpDlist != NULL)
{
SHGetPathFromIDList(lpDlist,strTmp);// 把项目标识列表转化成目录
TRACE(strTmp);
m_strFromPath = strTmp;
UpdateData(FALSE);
}
lhao_2000
2013-03-14 · 超过11用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:20.5万
展开全部
在m_strPath=dlg.GetPathName();这里设个断点看看你的m_strPath到底拿到值没有。
也可以用try...catch来查看是什么异常
追问
请问要怎么修改?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaofaln
2013-03-14
知道答主
回答量:20
采纳率:0%
帮助的人:6.1万
展开全部
在被m_strPath使用前 加一句 setlocale(LC_ALL,"Chinese-simplified"); 设置中文运行环境
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cooke1234
2013-03-14 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3537万
展开全部
因该是m_strPath的值不对了。
追问
请问要怎么修改?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式