原文地址:http://xingzhesun.blogbus.com/logs/10785886.html
if(find.IsDirectory() && !find.IsDots())
IsDirectory表明这是一个目录,isDots表明这个是.或者..而这两个东西虽然是目录,但是一个表明这个目录本身,一个代表上层目录(但是根目录下面..也是本身)。所以这个表明的意思是finder是一个目录并且不是这个目录本身或者上层目录 。
IsDirectory判断是否为目录,IsDots判断是否为点--这个要说明一下,你用过Dos的话,就应该知道,每个目录下都有缺省的两个目录,名称分别为'.'和'..',分别代表上一层目录和本层目录。因此,当我们在遍历目录下文件时,需要过滤掉这两个缺省目录。
CFileFind::IsDots
Call this member function to test for the current directory and parent directory markers while iterating through files.
virtual BOOL IsDots( ) const;
RETURN VALUE:
Nonzero if the found file has the name "." or "..", which indicates that the found file is actually a directory. Otherwise 0.
-------------------
CFileFind::IsDirectory
Call this member function to determine if the found file is a directory.
BOOL IsDirectory( ) const;
Return Value:
Nonzero if successful; otherwise 0.