(1)枚舉當前目錄下所有的文件
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile("*.*", &fd);
if ( hFind != INVALID_HANDLE_VALUE )
{
do{
if ( !(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
{//非目錄,即文件
cout << fd.cFileName << endl;
}
}while (::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
(2)枚舉當前目錄下所有的一級子目錄
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile("*.*", &fd);
if ( hFind != INVALID_HANDLE_VALUE )
{
do{
if ( fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )//目錄
{
cout << fd.cFileName << endl;
}
}while (::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
(3)枚舉當前目錄下的所有子目錄,遞歸調用
::SetCurrentDirectory(".");//當前目錄
//如果枚舉C:/下的所有子目錄,包括子目錄的子目錄,則用
// ::SetCurrentDirectory("C://");
EnumFolders();
//-----------------------------------------------------------------------
void EnumFolders()
{
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile("*.*", &fd);
if ( hFind != INVALID_HANDLE_VALUE )
{
do {
if ( fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{
CString strName = fd.cFileName;
if ( strName != "." && strName != ".." )
{
cout << strName << endl;
::SetCurrentDirectory(fd.cFileName);
EnumFolders();
::SetCurrentDirectory("..");
}
}
}while (::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
}
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile("*.*", &fd);
if ( hFind != INVALID_HANDLE_VALUE )
{
do{
if ( !(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
{//非目錄,即文件
cout << fd.cFileName << endl;
}
}while (::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
(2)枚舉當前目錄下所有的一級子目錄
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile("*.*", &fd);
if ( hFind != INVALID_HANDLE_VALUE )
{
do{
if ( fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )//目錄
{
cout << fd.cFileName << endl;
}
}while (::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
(3)枚舉當前目錄下的所有子目錄,遞歸調用
::SetCurrentDirectory(".");//當前目錄
//如果枚舉C:/下的所有子目錄,包括子目錄的子目錄,則用
// ::SetCurrentDirectory("C://");
EnumFolders();
//-----------------------------------------------------------------------
void EnumFolders()
{
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile("*.*", &fd);
if ( hFind != INVALID_HANDLE_VALUE )
{
do {
if ( fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{
CString strName = fd.cFileName;
if ( strName != "." && strName != ".." )
{
cout << strName << endl;
::SetCurrentDirectory(fd.cFileName);
EnumFolders();
::SetCurrentDirectory("..");
}
}
}while (::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
}