最近由于毕业设计需要,写了一个列出一个目录下所有子目录函数
希望大家能指出其中的不足,谢谢
void CAbcView::AddFile(char path[100])
{
BOOL b;
int flag; //用来避免最后一个目录没有获得
CFileFind file;
CString filename;
CString filepath;
file.FindFile(path);
b=file.FindNextFile();
if(b)
flag=2;
else
flag--;
char tempPath[100];
while(flag)
{
filename=file.GetFileName();
filepath=file.GetFilePath();
if(file.IsDots() != TRUE) //如果不是点目录
{
if(file.IsDirectory())
{
strInsert.item.pszText=(LPSTR)(filename.operator LPCTSTR());
strInsert.hParent = hItemDrive;
strcpy(tempPath,filepath.operator LPCTSTR());
strcat(tempPath,"\\*.*");
AddFile(tempPath);
b=file.FindNextFile() ;
if(!b)
flag--;
}
else
{
b=file.FindNextFile();
if(!b)
flag--;
}
}
else{
b=file.FindNextFile();
if(!b)
flag--;
}
}
}