#include
#include
#include
#include
#include
#include
using namespace std; vector
vecDir; int SelectFile( const struct dirent* pDir ) { if( NULL == pDir ) { return 0; } string strFile = pDir->d_name; if( 4 == pDir->d_type ) { string strDir = pDir->d_name; if( "." == strDir || ".." == strDir ) { return 0; } vecDir.push_back( pDir->d_name ); return 0; } int n = strFile.rfind( '.' ); if( -1 == n ) { return 0; } string strSubStr = strFile.substr( n ); if( strSubStr != ".cpp") { return 0; } return 1; } int SortFile( const struct dirent** pLeftDir, const struct dirent** pRightDir ) { return 1; } bool SearchForLinux(const char* pszDir, vector
& vecFiles) { string strDir; if( NULL == pszDir ) { strDir = "."; } else { strDir = pszDir; } dirent** ppNameList; int n = scandir( strDir.c_str(), &ppNameList, SelectFile, SortFile ); if( n < 0 ) { int nErr = errno; if( 2 == nErr ) { return true; } cout<<"scandir failed:"<
<
d_name; vecFiles.push_back( strFile ); free( ppNameList[i] ); } free( ppNameList ); vector
vecTempDir; vecTempDir = vecDir; vecDir.clear(); for( int i=0; i
vecFiles; SearchForLinux(NULL, vecFiles); for(int i=0; i