EgtGeneral 2.4h1 :
- aggiunta funzione FindAllDirectories.
This commit is contained in:
@@ -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 ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user