VC6.0--IsDirectory和IsDots的什么区别
if(finder.IsDirectory() && !finder.IsDots()) IsDirectory表明这是一个目录,isDots表明这个是.或者..而这两个东西虽然是目录,但是一个表明这个目录本身,一个代表上层目录(但是 根目录下面..也是本身)。所以这个表明的意思是finder是一个目录并且不是这个目录本身或者上层目录。 IsDirectory判断是否为目录,IsDots判断是否为点--这个要说明一下,你用过Dos的话,就应该知道,每个目录下都有缺省的两个目录,名 称分别为'.'和'..',分别代表上一层目录和本层目录。因此,当我们在遍历目录下文件时,需要过滤掉这两个缺省目录。
例如:
while(res)
{
res = ff.FindNextFile();
//如果还是文件夹就不执行
if(ff.IsDirectory() && !ff.IsDots())
{
}
//如果不是所在路径也不是想要的文件
else if(!ff.IsDirectory() && !ff.IsDots())
{
//显示当前访问的文件
AfxMessageBox("不知道干什么用的没执行!");//added by mengjun 2008-11-27
strPath = ff.GetFilePath();
strTitle = ff.GetFileName();
cout<<(LPCTSTR)strTitle<<endl;
if(FileFilter(strTitle))
{
long int Tmp = GetFileTimeID(strTitle);
if(max < Tmp)
{
max = Tmp;
maxPath = strPath;
maxTitle = strTitle;
}
}
else
{
}
}
}