zoukankan
html css js c++ java
vc遍历目录
#include
"
stdafx.h
"
#include
<
windows.h
>
#define FILEILTER
"
*.*
"
BOOL IsRoot(LPCTSTR lpszPath)
{
TCHAR szRoot[
4
];
wsprintf(szRoot,
"
%c:\\
"
, lpszPath[
0
]);
return
(lstrcmp(szRoot, lpszPath)
==
0
);
}
void
FindInAll(LPCTSTR lpszPath)
{
TCHAR szFind[MAX_PATH];
lstrcpy(szFind, lpszPath);
if
(
!
IsRoot(szFind))
lstrcat(szFind,
"
\\
"
);
lstrcat(szFind, FILEILTER);
//
找所有文件
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);
FindInAll(szFile);
//
如果找到的是目录,则进入此目录进行递归
}
}
else
{
TCHAR szFile[MAX_PATH];
if
(IsRoot(lpszPath))
{
wsprintf(szFile,
"
%s%s
"
, lpszPath, wfd.cFileName);
}
else
{
wsprintf(szFile,
"
%s\\%s
"
, lpszPath, wfd.cFileName);
printf(
"
%s\n
"
,szFile);
}
//
对文件进行操作
}
}
while
(FindNextFile(hFind,
&
wfd));
FindClose(hFind);
//
关闭查找句柄
}
int
main(
int
argc,
char
*
argv[])
{
FindInAll(
"
C:\\TEST
"
);
return
0
;
}
查看全文
相关阅读:
Java必会之多线程
第一周JVM核心技术-工具与GC策略
JVM核心技术(第一篇)
SpringCloudAlibaba使用seata做分布式事务
Go中的interface(接口)
快排与堆排
优先队列原来不难!带你手写一个
【LeetCode】557. 反转字符串中的单词 III
【LeetCode】214. 最短回文串
【LeetCode】17. 电话号码的字母组合(回溯)
原文地址:https://www.cnblogs.com/ahuo/p/1025197.html
最新文章
【JVM进阶之路】五:垃圾回收概述和对象回收判定
【JVM进阶之路】四:直面内存溢出和内存泄漏
手把手教系列之快速傅立叶算法
手把手教系列之一阶数字滤波器设计实现(附代码)
Linux中断子系统系列之基础概念篇
[面经] 如何自我介绍的6个提示
数学之美:嵌入式编程凹凸性之妙用(附C代码)
快速排序到底有多快?
单片机编程:如何喂狗的灵魂拷问...
聊聊改变世界的5大算法
热门文章
重新整理 mysql 基础篇—————表锁和全局锁[六]
重新整理 .net core 实践篇—————仓储层的具体实现[二十七]
重新整理 .net core 实践篇—————工作单元模式[二十六]
重新整理 .net core 实践篇—————Entity的定义[二十五]
重新整理 mysql 基础篇————— 索引模型[五]
重新整理 .net core 实践篇—————应用分层[二十四]
第六周 十倍效率开发神器-Guava
从JDBC到ORM的事务实现
第五周 Spring框架
Java并发之集合类
Copyright © 2011-2022 走看看