`
- 浏览:
114797 次
- 性别:
- 来自:
西安
-
- //转自:http://www.vcgood.com/forum_posts.asp?TID=2261&PN=1
-
- 版本1:用string处理,方便,容易理解.
-
#include<windows.h>
-
#include<iostream>
-
#include<string>
-
usingnamespacestd;
-
boolIsRoot(stringPath)
- {
- stringRoot;
-
Root=Path.at(0)+"://";
-
if(Root==Path)
-
returntrue;
-
else
-
returnfalse;
- }
-
voidFindInAll(stringPath)
- {
- stringszFind;
- szFind=Path;
-
if(!IsRoot(szFind))
-
szFind+="//";
-
szFind+="*.*";
- WIN32_FIND_DATAFindFileData;
-
HANDLEhFind=FindFirstFile(szFind.c_str(),&FindFileData);
-
if(hFind==INVALID_HANDLE_VALUE)
-
return;
-
do
- {
-
if(FindFileData.cFileName[0]=='.')
-
continue;
-
if(FindFileData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
- {
- stringszFile;
-
if(IsRoot(Path))
- szFile=Path+FindFileData.cFileName;
-
else
-
szFile=Path+"//"+FindFileData.cFileName;
- FindInAll(szFile);
- }
-
else
- {
- stringszFile;
-
if(IsRoot(Path))
- szFile=Path+FindFileData.cFileName;
-
else
-
szFile=Path+"//"+FindFileData.cFileName;
- cout<<szFile<<endl;
- cout<<FindFileData.cFileName<<endl;
- }
- }
-
while(FindNextFile(hFind,&FindFileData));
- FindClose(hFind);
- }
-
intmain()
- {
-
FindInAll("D://C++");
-
return0;
- }
- 版本2:编译器的通用性更强
-
#include<windows.h>
-
#include<iostream>
-
usingnamespacestd;
-
BOOLIsRoot(LPCTSTRlpszPath)
- {
-
TCHARszRoot[4];
-
wsprintf(szRoot,"%c://",lpszPath[0]);
-
return(lstrcmp(szRoot,lpszPath)==0);
- }
-
voidFindInAll(::LPCTSTRlpszPath)
- {
-
TCHARszFind[MAX_PATH];
-
lstrcpy(szFind,lpszPath);
-
if(!IsRoot(szFind))
-
lstrcat(szFind,"//");
-
lstrcat(szFind,"*.*");
- WIN32_FIND_DATAwfd;
-
HANDLEhFind=FindFirstFile(szFind,&wfd);
-
if(hFind==INVALID_HANDLE_VALUE)
-
return;
-
do
- {
-
if(wfd.cFileName[0]=='.')
-
continue;
-
if(wfd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
- {
-
TCHARszFile[MAX_PATH];
-
if(IsRoot(lpszPath))
-
wsprintf(szFile,"%s%s",lpszPath,wfd.cFileName);
-
else
-
wsprintf(szFile,"%s//%s",lpszPath,wfd.cFileName);
-
FindInAll(szFile);
- }
-
else
- {
-
TCHARszFile[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);
- }
-
intmain()
- {
-
FindInAll("D://C++");
-
return0;
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
VC遍历目录及子目录,将目录名及子目录名与文件名输出到文件文件.(目录树的输出_将目录及子目录与文件按树形形式输出 程序根据打印要求打印指定目录,打印输出的格式 代码的加工).
VC递归遍历指定文件夹下的所有子文件夹与文件,并生成树结构的示例代码。
VC6下编译通过,为了节省大小,删掉了debug目录,总体功能是遍历指定目录下(例子为system32)的文件,然后扫描制定名字(例子为dll)的文件,并记录。可以根据自己的需求来做更改
VC递归遍历指定文件夹下的所有子文件夹与文件,并生成树结构的示例代码。
《学通Visual C++的24堂课》里的例子,在DOS环境下使用dir命令可以查看指定目录下的所以文件;在Windows环境中可以通过资源管理器窗口来查看文件;如皋需要在程序中查找某一个文件,则需要遍历磁盘目录
环境 VS 2013,c++ 32位控制台程序,遍历目录下的全文件,并返回一个文件名vector,然后打印文件名和其后缀
填写目录名,显示该目录下的所有文件的完整路径 快速检索指定文件 遍历文件夹下所有文件
vs2010 c 遍历指定文件夹中的所有制定类型文件
VC++遍历对话框中的子控件 不仅展示了使用Microsoft基础类的基本知识 但也是写你的应用程序的一个起点。 这个文件包含了一个总结,你会发现在每个文件 弥补明文应用程序。
VC 文件目录遍历生成树菜菜单,生成目录树的VC 源码范例,自动读取指定文件夹下的所有目录和文件,并生成Tree目录树结构。PS注:示例程序读取的是“成绩表”文件夹下的目录和文件,因此在测试时候要把生成的exe从...
vc 实现对文件的遍历,对指定文件的复制、删除等操作。
自己随手写的一个小程序,练手用的。VC6编译。
这是我用MFC写的一个用来遍历制动文件夹下的所以文件,并计算这些文件的大小
指定注册表中的项,将该项下的所有子项以及键值导出,写成txt文本文件。 指定注册表中的项,将该项下的所有子项以及键值导出,写成txt文本文件。
那么问题来了,大家都知道VC项目在编译过程中会产生大量文件,有的很大,像*.suo这样文件,有很多是不必须的,如果都一一上传云盘那一天不用工作了。为了能高效的工作,花时间自己编写了批处理清除那些无用的文件,...
用vc实现的遍历根目录文件及其子文件夹的算法
内容索引:VC/C++源码,文件操作,遍历,目录树,FileTree 生成目录树结构的一个好范例,自动读取指定文件夹的内容,并遍历文件夹下的目录,最后生成TREE目录树结构。在XP下测试通过。
读取Excel的简单方法,此方法简单易懂,容易上手,代码采用VC6.0 编写 有实际程序可以直接运行。
VC源码下载——ClearTmpFile,VC++查找并清除临时文件,查找指定格式的文件,然后可以删除搜索出来的临时文件,每个磁盘都可以查找到文件,可搜索以下类型的垃圾缓存文件:*.tmp/*.??~/*.ftg/*.gid等,如果你在编写...
一款清除VC编译器临时文件的工具,C++Builder写的,对指定目录进行遍历,清楚其中的VC编译器产生的临时文件。