连接ftp服务器下载文件夹的问题??

huaguli1 2007-06-07 08:56:25
void CMCCSFileShareDlg:: DowloadFTPDir(CString strDir) //此函数用于遍历文件夹下的文件进行下载,strDir是一个目录路径
{
CString szDir = strDir;
CString strPath;
if(szDir.Right(1) != "//") //保证目录是以\结尾的
szDir += "//";
szDir += "*.*";

CFtpFileFind m_pRemoteFinder1(m_pFTPConnection);
BOOL res = m_pRemoteFinder1.FindFile(szDir);

while( res )
{
res = m_pRemoteFinder1.FindNextFile();

strPath = m_pRemoteFinder1.GetFilePath();
if(m_pRemoteFinder1.IsDirectory() && !m_pRemoteFinder1.IsDots())
{

DowloadFTPDir(strPath); //如果目标是个文件夹,则利用嵌套来遍历
}
else if(!m_pRemoteFinder1.IsDirectory() && !m_pRemoteFinder1.IsDots())
{
//如果是单个文件,直接下载
if(m_pFTPConnection->GetFile(strPath,m_LocalPath))
{
AfxMessageBox("下载成功");
}
}
}

m_pRemoteFinder1.Close();
}

我现在遇到的问题是当文件夹下又有文件夹b(b下还有文件)时,则进行递归调用DowloadFTPDir,这时BOOL res = m_pRemoteFinder1.FindFile(szDir);返回值是0,查看GetLastError值=12110,
我不清楚为什么第二次会不成功,而且我做了个实验,直接重复一次如下:
CFtpFileFind m_pRemoteFinder1(m_pFTPConnection);
BOOL res = m_pRemoteFinder1.FindFile(szDir);
CFtpFileFind m_pRemoteFinder2(m_pFTPConnection);
BOOL res2 = m_pRemoteFinder2.FindFile(szDir);

结果很奇怪,res 等于1,res2就等于0了,查看GetLastError值也是12110,

大家有遇到我这样的问题哦??谢谢了!
...全文
540 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
proad 2008-07-15
  • 打赏
  • 举报
回复
我怀疑是pasv模式的问题
yueyeli 2007-06-08
  • 打赏
  • 举报
回复
在本地create一个就是了
smallcrocodile 2007-06-08
  • 打赏
  • 举报
回复
学习
lixiaosan 2007-06-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20030404/16/1619692.html
lixiaosan 2007-06-08
  • 打赏
  • 举报
回复
CFtpConnection::SetCurrentDirectory
huaguli1 2007-06-08
  • 打赏
  • 举报
回复
没有人做过吗??
长尾巴的悟空 2007-06-08
  • 打赏
  • 举报
回复
天气太热了..
celftj 2007-06-07
  • 打赏
  • 举报
回复
难道这个类同时只能定义一个对象?

不少类要用到Windows资源,有可能定义的对象个数是有限的

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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