/*
功能:演示了利用C语言递归遍历指定目录下的子目录和文件!
说明:经修改也可以搜索文件名符合特定格式的文件,如修改“\\*.*”为“\\*.log”
*/
#include <iostream>
#include <string>
#include <io.h>
using namespace std;
void filesearch(string path, int layer)
{
struct _finddata_t filefind;
string curr = path + "\\*.*"; // 修改此处改变搜索条件
int done = 0, i, handle;
if((handle = _findfirst(curr.c_str(), &filefind)) != -1)
{
while(!(done = _findnext(handle, &filefind)))
{
if(strcmp(filefind.name, "..") == 0)
continue;
for(i = 0;i <layer; i++)
printf("\t");
if((_A_SUBDIR == filefind.attrib)) // 是目录
{
printf("[Dir]:\t%s\n", filefind.name);
curr = path + "\\" + filefind.name;
filesearch(curr, layer+1); // 递归遍历子目录
}
else
{
printf("[File]:\t%s\n",
[Windowns C]递归遍历指定目录下的子目录和文件
最新推荐文章于 2024-07-29 16:17:34 发布
本文介绍了如何使用C++在Windows环境下,通过递归方式遍历指定目录及其子目录下的所有文件。内容包括文件路径操作、文件I/O等技术。
摘要由CSDN通过智能技术生成