指定したフォルダに、指定した形式のファイルを取得する
void xxxxxx::GetFileList(LPCTSTR lpFolder, BOOL bSubFolder, LPCTSTR ExtName ,CStringArray& csFileArray )
{
// 変数宣言
CString csSearchFile;
CFileFind FileFind;
BOOL bFindNext;
csSearchFile.Format( _T("%s%s%s") , lpFolder , _T("\\*"), ExtName );
if(!FileFind.FindFile(csSearchFile))
return;
bFindNext = TRUE;
while( bFindNext ){
bFindNext = FileFind.FindNextFile();
// ".",".."でない場合に処理を行う
if(!FileFind.IsDots()){
//ディレクトリで、更にサブディレクトリを処理するのであれば自分を呼ぶ
if(FileFind.IsDirectory() && bSubFolder != FALSE ){
this->GetFileList(FileFind.GetFilePath() , bSubFolder , csFileArray );
}
//ファイルであれば、ファイル名配列に追加していく。
else{
csFileArray.Add( FileFind.GetFilePath() );
}
}
}
// 開放
FileFind.Close();
}
void xxxxxx::GetFileList(LPCTSTR lpFolder, BOOL bSubFolder, LPCTSTR ExtName ,CStringArray& csFileArray )
{
// 変数宣言
CString csSearchFile;
CFileFind FileFind;
BOOL bFindNext;
csSearchFile.Format( _T("%s%s%s") , lpFolder , _T("\\*"), ExtName );
if(!FileFind.FindFile(csSearchFile))
return;
bFindNext = TRUE;
while( bFindNext ){
bFindNext = FileFind.FindNextFile();
// ".",".."でない場合に処理を行う
if(!FileFind.IsDots()){
//ディレクトリで、更にサブディレクトリを処理するのであれば自分を呼ぶ
if(FileFind.IsDirectory() && bSubFolder != FALSE ){
this->GetFileList(FileFind.GetFilePath() , bSubFolder , csFileArray );
}
//ファイルであれば、ファイル名配列に追加していく。
else{
csFileArray.Add( FileFind.GetFilePath() );
}
}
}
// 開放
FileFind.Close();
}
PR
この記事にコメントする