}
boolCBrowseDir::BeginBrowse(constchar*filespec)
{
ProcessDir(m_szInitDir,NULL);
returnBrowseDir(m_szInitDir,filespec);
}
boolCBrowseDir::BrowseDir(constchar*dir,constchar*filespec)
{
_chdir(dir);
longhFile;
_finddata_tfileinfo;
if((hFile=_findfirst(filespec,&fileinfo))!=-1)
{
do
{
if(!(fileinfo.attrib&_A_SUBDIR))
{
charfilename[_MAX_PATH];
strcpy(filename,dir);
strcat(filename,fileinfo.name);
cout<<filename<<endl;
if(!ProcessFile(filename))
returnfalse;
}
}while(_findnext(hFile,&fileinfo)==0);
_findclose(hFile);
}
_chdir(dir);
if((hFile=_findfirst("*.*",&fileinfo))!=-1)
{
do
{
if((fileinfo.attrib&_A_SUBDIR))
{
if(strcmp(fileinfo.name,".")!=0&&strcmp
(fileinfo.name,"..")!=0)
{
charsubdir[_MAX_PATH];
strcpy(subdir,dir);
strcat(subdir,fileinfo.name);
strcat(subdir,"\\");
ProcessDir(subdir,dir);
if(!BrowseDir(subdir,filespec))
returnfalse;
}
}
}while(_findnext(hFile,&fileinfo)==0);
_findclose(hFile);
}
returntrue;
}
vector<char*>CBrowseDir::GetDirFilenames(constchar*dir,constchar*filespec)
{
_chdir(dir);
vector<char*>filename_vec;
filename_vec.clear();
longhFile;
_finddata_tfileinfo;
if((hFile=_findfirst(filespec,&fileinfo))!=-1)
{
do
{
if(!(fileinfo.attrib&_A_SUBDIR))
{
char*filename=newchar[_MAX_PATH];
strcpy(filename,dir);
//intst=0;while(dir[st++]!='\0');
strcat(filename,fileinfo.name);//filename[st]='\0';
filename_vec.push_back(filename);
}
}while(_findnext(hFile,&fileinfo)==0);
_findclose(hFile);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22609-7.html
不然有点小卡
这个很有感觉
航速18节以上