文件夹查找操作 CFileFind类的IsDots()和IsDictionary()函数

来源:互联网 发布:win10 app设计软件 编辑:程序博客网 时间:2024/05/29 08:31

转载来自:http://blog.sina.com.cn/s/blog_518e9d610100qm43.html

1、IsDots:

Call this member function to test for the current directory and parent directory markers while iterating through files.

Nonzero if the found file has the name "." or "..", which indicates that the found file is actually a directory. Otherwise 0.

其中在每个文件夹下都有两个默认的文件夹,用来指示当前目录,或者上一级目录,其中.指示当前目录,..表示上一级目录。

2、IsDictionary():判断一个文件是否是一个目录(文件夹)。

这两个函数主要用在文件夹的遍历上,用来判断三类类型:文件,普通文件夹,..或者.文件夹。

常用的使用模式为:

bool b=file.FindFile(strDirectoryname)

while(b)

{

b=file.FindNextFile(strDirectoryname);

//文件的处理方式

if(!file.IsDots() && !file.IsDirectory)

{}

//..和.文件的处理一般为continue;

else

if(file.IsDots())

{

continue;

}

//文件夹(目录)的处理方式

else

if(file.IsDirectory())

{}

}

实验程序:
CFileFind files;
CString strparent = _T("E:\\ymrf2\\videochannels\\vv2\\vv2\\vv2\\v2\\*.264");
BOOL looking = files.FindFile(strparent); 
int i=0;
CString str;


while (looking)
{
looking = files.FindNextFile();
if (files.IsDots())
continue;
if (files.IsDirectory())
continue;
   
i++;
}
str.Format(_T("%d"), i);
SetDlgItemText(IDC_EDIT1, str);

0 0