文件、目录遍历FileFind WIN32_FIND_DATA
来源:互联网 发布:手机淘宝专属推荐 编辑:程序博客网 时间:2024/06/11 22:27
{
if (!pszPath || strlen(pszPath) < 2)
{
return false;
}
// 遍历目录
HANDLE hFind;
WIN32_FIND_DATA dataFind;
bool bMoreFiles = true;
char szFindPath[MAX_PATH];
if (pszPath[strlen(pszPath) - 1] != '\\')
{
_snprintf(szFindPath, sizeof(szFindPath), "%s\\*.*", pszPath);
}
else
{
_snprintf(szFindPath, sizeof(szFindPath), "%s*.*", pszPath);
}
hFind = FindFirstFile(szFindPath, &dataFind);
while (hFind != INVALID_HANDLE_VALUE && bMoreFiles == TRUE)
{
if ((dataFind.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) == FILE_ATTRIBUTE_ARCHIVE)
{
// 文件
char szFile[MAX_PATH];
strncpy(szFile, pszPath, sizeof(szFile));
szFile[sizeof(szFile) - 1] = '\0';
if (szFile[strlen(szFile) - 1] != '\\')
{
strcat(szFile, "\\");
}
strcat(szFile, dataFind.cFileName);
szFile[sizeof(szFile) - 1] = '\0'; // szFile完整文件名
}
else if (((dataFind.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY)
&& strnicmp(dataFind.cFileName, ".", strlen(dataFind.cFileName)) != 0
&& strnicmp(dataFind.cFileName, "..", strlen(dataFind.cFileName)) != 0)
{
// 目录
char szPath[MAX_PATH];
strncpy(szPath, pszPath, sizeof(szPath));
if (szPath[strlen(szPath) - 1] != '\\')
{
strcat(szPath, "\\");
}
strcat(szPath, dataFind.cFileName); // szPath完整路径名
FindAll(szPath); // 递归遍历目录
}
bMoreFiles = FindNextFile(hFind, &dataFind);
}
return true;
}
- 文件、目录遍历FileFind WIN32_FIND_DATA
- 文件、目录遍历FileFind WIN32_FIND_DATA
- Window文件目录遍历 和 WIN32_FIND_DATA 结构
- 遍历文件时使用WIN32_FIND_DATA结构体
- WIN32_FIND_DATA
- WIN32_FIND_DATA
- WIN32_FIND_DATA
- WIN32_FIND_DATA
- WIN32_FIND_DATA
- WIN32_FIND_DATA
- WIN32_FIND_DATA
- WIN32_FIND_DATA
- JSP遍历文件目录
- 遍历文件目录
- CFileFind 遍历文件目录
- 递归遍历目录文件
- 遍历文件目录
- 遍历目录得到文件
- 窗口分割 CSplitterWnd
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- HQL语句的语法
- VC防止窗口和控件闪烁的方法
- 脚本中文件类型不支持长扩展名
- 文件、目录遍历FileFind WIN32_FIND_DATA
- TCP ftp服务器模型 《超经典》
- 从夫妻吵架中看项目管理
- android源代码文件结构
- VC6下Excel文件的读取和写入
- opencv 直方图反向投影
- Web Application UI(二):Web Tab Component: Mapping Database Tables Into UI Tabs
- TCP listener
- 工具栏CToolBar下拉菜单