如何遍历整个目录
来源:互联网 发布:2017程序员工资 编辑:程序博客网 时间:2024/05/18 00:12
#include <windows.h>
#include <shlobj.h>
//浏览目录.
void BrowseFolder( void )
{
TCHAR path[MAX_PATH];
BROWSEINFO bi = { 0 };
bi.lpszTitle = ("递归调用所有目录");
LPITEMIDLIST pidl = SHBrowseForFolder ( &#38;bi );
if ( pidl != 0 )
{
// 获取目录路径
SHGetPathFromIDList ( pidl, path );
//设置为当前路径
SetCurrentDirectory ( path );
//搜索所有子目录
SearchFolder( path );
// 释放内存
IMalloc * imalloc = 0;
if ( SUCCEEDED( SHGetMalloc ( &#38;imalloc )) )
{
imalloc->Free ( pidl );
imalloc->Release ( );
}
}
//搜索其下所有子目录及文件.
void SearchFolder( TCHAR * path )
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
TCHAR filename[ MAX_PATH + 256 ];
TCHAR pathbak[ MAX_PATH ];
//复制初始用户选择目录
strcpy( pathbak, path );
//寻找第一个文件
hFind = FindFirstFile ( "*.*", &#38;FindFileData );
//搜索所有文件及子目录
do
{
if ( hFind != INVALID_HANDLE_VALUE )
{
//如果是当前目录或父目录,跳过
if ( ! ( strcmp( FindFileData.cFileName, "." ) ) ||
! ( strcmp( FindFileData.cFileName, ".." ) ) )
{
continue;
}
//恢复初始用户选择目录
strcpy( path, pathbak );
//列出所有发现的文件
sprintf( path, "%s//%s", path, FindFileData.cFileName );
//如果 SetCurrentDirectory
成功的话,则它是一个目录,递归调用继续搜索子目录
if ( ( SetCurrentDirectory( path ) ) )
{
SearchFolder( path );
}
//插入文件及路径名到列表框m_listbox_hwnd中
SendMessage( m_listbox_hwnd, LB_ADDSTRING, 0, path );
//<--INSERT WHAT YOU WANT DONE HERE!
}
}
while ( FindNextFile ( hFind, &#38;FindFileData ) &#38;&#38; hFind !=
INVALID_HANDLE_VALUE );
FindClose ( hFind );
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/taocsdn/archive/2004/07/16/43328.aspx
- 如何遍历整个目录
- 如何遍历整个目录
- 如何遍历整个目录树查找文件
- 遍历整个目录
- VC++中如何遍历整个目录树查找文件
- VC++中如何遍历整个目录树查找文件
- VC++中如何遍历整个目录树查找文件
- VC++中如何遍历整个目录树查找文件
- 遍历整个目录树查找文件
- 遍历整个目录树查找文件
- 递归遍历整个目录的代码
- 遍历整个目录树的文件和目录
- 如何下载一个网站的整个目录
- 如何使用PRJ EXPORTS导出整个目录
- jsp如何遍历目录
- 如何用idFTP遍历整个目录----下载、删除
- 如何用idFTP遍历整个目录—下载、删除
- 如何用idFTP遍历整个目录----下载、删除
- Jquery autocomplete
- SqlCE--SQL
- 正在帮同学做个网站
- VC++ 调用 C#生成DLL的两种方法
- Release和debug
- 如何遍历整个目录
- 给做技术支持的人的忠告(转江南草民)
- 获取和设置c# 应用程序目录
- VC文件扩展名解读大全
- 运行代码,复制代码,保存代码
- WinCE 开机自动运行
- 抽奖程序 Award
- ExtJS 动态增加与删除items,动态设置textField可见与否
- WINCE平台初始化配置文件