现在的位置: 首页 > 综合 > 正文

VC6.0–IsDirectory和IsDots的什么区别

2012年04月15日 ⁄ 综合 ⁄ 共 1051字 ⁄ 字号 评论关闭

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
                {
                }
            }
        }

抱歉!评论已关闭.