CFtpFileFind::FindFile无法获取文件列表的问题?

haibuo1981 2010-10-29 02:21:19
用mfc的ftp api写了一个ftp自动上传程序,其中一部分功能是:检测路径不存在,则自动创建。
检测路径是否存在使用的是CFtpFileFind::FindFile()方法。
同一份代码,在xp pro(32bit,中文)下一切正常,能够正常取得返回值。
但在64位的win2003(英文)下调试的时候,发现FindFile()总返回0。即使是ftp当前目录下存在内容。
(目前其他系统还没有测试过)
已知两个系统的网络都正常,ftp的权限也没问题,在浏览器里用同样的帐号也能正常打开ftp,获得列表。

详细的测试代码请参考下面的链接
http://topic.csdn.net/u/20101026/17/d8f0d041-92b8-4dd8-8edc-5736d45cf953.html

因为后来在另外一台win2003 64bit上跑了一次,没遇到问题,所以暂时放下了。。

但是现在的问题是,在那台可以正常跑的xp上忽然也开始出现这个问题。。

100分奉上,还请有经验的朋友支招。。
...全文
378 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haibuo1981 2010-11-25
  • 打赏
  • 举报
回复
结贴了。。疑难杂症啊,,为了返回点可怜的分,我还是不要选无满意结贴了。。
haibuo1981 2010-10-30
  • 打赏
  • 举报
回复
不是吧,,这个讨论区也太冷清些了。。
上贴就是因为一直没有人参与讨论,让我给关掉了。。

加到100分又开这一帖,还是这样子。。

。。。。。。。。
各位路过的朋友捧捧场,给支个招吧~
贪玩的老鼠 2010-10-30
  • 打赏
  • 举报
回复
CFtpFileFind 在递归函数中查找的话是否问题的,m_Connection好象只能同时存在一个CFtpFileFind 对象,其实你不管它路径存不存在,直接创建就可以了
bool a()
{
CFtpFileFind f(m_Connection);
.....
if (IsDir)
{
a();
}

}
haibuo1981 2010-10-30
  • 打赏
  • 举报
回复
另外,说明一点。我不是在递归中调用。。
haibuo1981 2010-10-30
  • 打赏
  • 举报
回复
虽然喝了点酒,不过脑子还算清醒。。
但是不明白你的代码的意思。。
能解释一下吗?
[Quote=引用 5 楼 qimiao77 的回复:]

CFtpFileFind 在递归函数中查找的话是否问题的,m_Connection好象只能同时存在一个CFtpFileFind 对象,其实你不管它路径存不存在,直接创建就可以了
bool a()
{
CFtpFileFind f(m_Connection);
.....
if (IsDir)
{
a();
}
……
[/Quote]
haibuo1981 2010-10-29
  • 打赏
  • 举报
回复
GetLastError()返回null的。。
FindFile输入的参数有输出观察过,没发现问题。。

xp系统重启后,又正常了。。 64bitwin2003依旧。。
saiyaman5 2010-10-29
  • 打赏
  • 举报
回复
GetLastError()返回什么值?

同问.

记日志,看看FindFile()输入的参数对不对
Eleven 2010-10-29
  • 打赏
  • 举报
回复
FindFile()总返回0?
GetLastError()返回什么值?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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