| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1683 人关注过本帖
标题:[求助]请问如何编写遍历所有磁盘目录下的指定的文件
只看楼主 加入收藏
agul_333
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-5-31
收藏
 问题点数:0 回复次数:5 
[求助]请问如何编写遍历所有磁盘目录下的指定的文件
用C语言编写,在WindowsXP的VC6.0下运行。
要输入需要查询的文件名后,在每个磁盘开始搜索每个目录和子目录,将找到的相同文件名的所有文件和详细信息全部输出。效果几乎类似与Windows的搜索功能。
我没有学过,非常棘手,请好心人帮助,谢谢!
搜索更多相关主题的帖子: 遍历 目录 WindowsXP 磁盘 文件 
2007-06-04 21:54
helyy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-5-23
收藏
得分:0 
FindFirstFile()
FindNextFile()
2007-06-05 13:51
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
~~~LS的能说清楚点吗``?

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-06-05 13:58
helyy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-5-23
收藏
得分:0 

#include<windows.h>
#include<stdio.h>
#include<iostream.h>
BOOL CHeDlg::IsRoot(LPCTSTR lpszPath)
{ //是否根目录
TCHAR szRoot[4];
wsprintf(szRoot, "%c:\\", lpszPath[0]);
return (lstrcmp(szRoot, lpszPath) == 0);
}
void CHeDlg::FindAll(::LPCTSTR lpszPath)
{
TCHAR szFind[MAX_PATH];
lstrcpy(szFind, lpszPath);
if (!IsRoot(szFind))lstrcat(szFind, "\\");
lstrcat(szFind, "*.*"); // 找所有文件
WIN32_FIND_DATA wfd;
HANDLE hFind = FindFirstFile(szFind, &wfd);
if (hFind == INVALID_HANDLE_VALUE) // 如果没有找到或查找失败
return;
do
{
if (wfd.cFileName[0] == '.')
continue; // 过滤这两个目录
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
TCHAR szFile[MAX_PATH];
if (IsRoot(lpszPath))
wsprintf(szFile, "%s%s", lpszPath, wfd.cFileName);
else
wsprintf(szFile, "%s\\%s", lpszPath, wfd.cFileName);
FindAll(szFile); // 如果找到的是目录,则进入此目录进行递归

}
else
{
TCHAR szFile[MAX_PATH];
if (IsRoot(lpszPath))
wsprintf(szFile, "%s%s", lpszPath, wfd.cFileName);
else
wsprintf(szFile, "%s\\%s", lpszPath, wfd.cFileName);
//干什么事情
}
} while (FindNextFile(hFind, &wfd);
FindClose(hFind); // 关闭查找句柄
}//网上找的

2007-06-05 15:05
helyy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-5-23
收藏
得分:0 
多了两个CHeDlg::
while (FindNextFile(hFind, &wfd));
2007-06-05 15:08
agul_333
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-5-31
收藏
得分:0 
多谢各位的帮助,非常感谢。

コヂママサト
2007-06-11 13:06
快速回复:[求助]请问如何编写遍历所有磁盘目录下的指定的文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014856 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved