服务器可以匿名登录,可我用递归的方法只到的了跟目录再下去一层就返回跟目录了接着下个目录也一样 我用的是CFtpFileFind类,算了我把我的程序给高手们看一下那里出了问题帮忙改一下或另外给我一个更好的方法
void CMyFtpDlg::BrowseDir(CString strDir,CFileFind* pFinder)
{
CString temp;
CString szDir = strDir;
if(szDir.Right(1) != "\\")
szDir += "\\";
szDir += "*.*";
//查找目录下的文件
BOOL res = pFinder->FindFile(szDir);
while(res)
{
res = pFinder->FindNextFile(); //是目录
if(pFinder->IsDirectory() && !pFinder->IsDots())
{
BrowseDir(pFinder->GetRoot()+pFinder->GetFileName(),pFinder);
}
//是文件
else if(!pFinder->IsDirectory() && !pFinder->IsDots())
{
}
}
}pFinder我设的是公有变量
void CMyFtpDlg::BrowseDir(CString strDir,CFileFind* pFinder)
{
CString temp;
CString szDir = strDir;
if(szDir.Right(1) != "\\")
szDir += "\\";
szDir += "*.*";
//查找目录下的文件
BOOL res = pFinder->FindFile(szDir);
while(res)
{
res = pFinder->FindNextFile(); //是目录
if(pFinder->IsDirectory() && !pFinder->IsDots())
{
BrowseDir(pFinder->GetRoot()+pFinder->GetFileName(),pFinder);
}
//是文件
else if(!pFinder->IsDirectory() && !pFinder->IsDots())
{
}
}
}pFinder我设的是公有变量
解决方案 »
- 关于UAC的问题 100分相送
- MSHTML可以解析非标准的HTML标签嘛?
- help!怎么把一个CStdioFile类型文件里面的内容清空?
- 对代理不熟悉,问一个http代理的问题!
- 急!在一个程序中用ShellExecute打开一个文件,怎么样得到它的窗口句柄啊?
- @@@@@@@@@@救命呀!!DirectX的简单问题,关于平面翻转显示位图,急死了!在线等候,解决马上给分!!!@@@@@@@@
- msc0mm控件的问题,
- 谁提供一个 同步i/o堵塞的例子给我,50分
- 高分求救!
- 我想把一台机器的屏幕传给另外一台机器,但位图数据量太大,请问有什么好的办法减少数据量
- 是处理WM_INITDIALOG消息,还是处理WM_CREATE消息?(在线等)
- 请指教。。。。。
http://sourceforge.net/projects/filezilla/一个强大的开源FTP工具,你可以从中学到很多的
{
CString m_i;
CString m_ii; CStringArray m_Dir; CFtpFileFind finder(m_pFtpConnection);
BOOL bWorking=finder.FindFile(_T("*")); while (bWorking)
{
bWorking = finder.FindNextFile(); if ( finder.IsDots() ) continue;
if ( finder.IsHidden() ) continue; if (finder.IsDirectory())
{
m_Dir.Add( finder.GetFileName());
}
else
{
m_i=finder.GetFileName()+"\r\n";
m_ftpinfo +=m_i;
UpdateData(FALSE);
}
}
finder.Close(); for(int i=0;i<m_Dir.GetSize();i++)
{ m_i="["+m_Dir.GetAt(i)+"]"+"\r\n";
m_ftpinfo +=m_i;
UpdateData(FALSE); m_pFtpConnection->SetCurrentDirectory(m_Dir.GetAt(i));
List(); m_pFtpConnection->SetCurrentDirectory("..");
}}