请帮助解释一下?

myhome126 2008-03-28 11:32:31
CFtpFileFind ftpfind(pFtpCon);
if (ftpfind.FindFile(NULL)) //这个判断语句是有什么用?
{
CString str ;
while ( ftpfind.FindNextFile()) //这个判断语句是有什么用?

{
if (!ftpfind.IsDirectory()) //这个判断语句是有什么用?

{
str = ftpfind.GetFileName();
m_list.AddString(str);
}
}
if (!ftpfind.IsDirectory()) //这个判断语句是有什么用?为什么用了俩次这个判断语句?
{
str = ftpfind.GetFileName();
m_list.AddString(str);

}

这是ftp客户端查找文件的功能,对几个判断功能理解不了.请大家给解释一下?
...全文
39 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
greatws 2008-03-28
由于while ( ftpfind.FindNextFile())是单while循环

FindNextFile()在while里,如果没有下一个文件了,那么while里的表达式会为0,那么这样的话还有1个文件未显示

所以后面要再加个判断,把最后一个文件也显示出来。



如果用do-while循环就不用判断2次
回复
myhome126 2008-03-28
最不清楚的是:为什么用了俩次

if (!ftpfind.IsDirectory())

这个判断语句?
回复
iyranly 2008-03-28

CFileFind::IsDirectory
BOOL IsDirectory( ) const;

Return Value
Nonzero if successful; otherwise 0.

Remarks
Call this member function to determine if the found file is a directory. A file that is a directory is marked with FILE_ATTRIBUTE_DIRECTORY a file attribute identified in theWIN32_FIND_DATA structure.

回复
iyranly 2008-03-28
CFtpFileFind::FindFile
Call this member function to find an FTP file.

After calling FindFile to retrieve the first FTP file, you can call FindNextFile to retrieve subsequent FTP files.

回复
iyranly 2008-03-28
你没有msdn吗?
回复
lwykj 2008-03-28
MSDN

鄙视这种不自己查资料,就问问题的人!
回复
Mr-Chen 2008-03-28
对循环的执行过程先要有个了解,多查查MSDN
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-03-28 11:32
社区公告

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