EgtGeneral 2.4h1 :

- aggiunta funzione FindAllDirectories.
This commit is contained in:
DarioS
2022-09-13 08:11:19 +02:00
parent 80207d263b
commit 7b0eb64ef2
2 changed files with 25 additions and 0 deletions
+25
View File
@@ -296,3 +296,28 @@ EraseDirectory( const string& sDir)
wstring sDirW = stringtoW( sDir) ;
return( ::RemoveDirectoryW( sDirW.c_str()) != FALSE) ;
}
//-----------------------------------------------------------------------------
bool
FindAllDirectories( const string& sDirSpec, STRVECTOR& vsDirNames)
{
wstring sDirSpecW = stringtoW( sDirSpec) ;
// cerco i file che soddisfano le specifiche
intptr_t hFile ;
_wfinddata_t c_file ;
if ( ( hFile = _wfindfirst( sDirSpecW.c_str(), &c_file)) != -1L) {
do {
if ( c_file.attrib == _A_SUBDIR) {
string sDir = LPSTR( WtoA( c_file.name)) ;
if ( ! EqualNoCase( sDir, ".") && ! EqualNoCase( sDir, ".."))
vsDirNames.emplace_back( sDir) ;
}
} while( _wfindnext( hFile, &c_file) == 0) ;
_findclose( hFile) ;
errno = 0 ;
return true ;
}
return false ;
}