hur.cn - 华软网

 热门搜索

CopyFile的问题

  作者:未知    来源:网络    更新时间:2011/6/23
我在主线程中通过CFileDialog打开一个保存文件的对话框,这个对话框保持不关闭,此时在另一个线程中有个动作是复制文件
CopyFile(csFilePath, csXmlFile, FALSE);csFilePath是源文件的绝对路径,文件存在,csXmlFile=cache\\InitContact_temp.xml是一个相对路径,相对当前应用程序,cache文件夹肯定存在,
现在的问题是在主线程中打开着保存文件对话框,这里的CopyFile就会失败,GetLastError=3;而如果主线程中没有打开着保存文件对话框,CopyFile可以成功;如果打开着保存文件对话框时,csXmlFile路径使用绝对路径也是可以成功的。

不知道为什么?
---华软 网友回答---
csFilePath、csXmlFile有在其他地方被修改么?
---华软网友回复---
打开保存文件对话框后,当前路径会改变。
这是如果你使用相对路径去读取文件,就会出错,也就是出现你这个错误。
你可以使用SetCurrentDirectory 把当前路径修改回来。
或者读取文件的时候使用绝对路径
---华软网友回复---
基本可以断定问题一定出在了你的打开的保存文件对话框中,仔细检查,不行贴代码,大伙帮你瞅瞅看
---华软网友回复---
你的文件对话框加上OFN_SHAREAWARE这个标记试试
---华软网友回复---
都是用绝对路径保险
---华软网友回复---
引用 1 楼 kyotrue 的回复:
csFilePath、csXmlFile有在其他地方被修改么?


没被改动过,在调用CopyFile前,两个参数就是预期的值


---华软网友回复---
引用 4 楼 lgxing 的回复:
你的文件对话框加上OFN_SHAREAWARE这个标记试试


这个没用的
---华软网友回复---
算了,还是用绝对路径吧      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。