c++ 指定目录下的文件遍历
要实现指定目录下文件的遍历需要执行一下的部分:
第一步获取当前路径的名字:(MAX_PATH是在windows定义的所有的路径名字不超过其,调用该函数会使得得到当前的目录)
#include <Windows.h>
char buff[MAX_PATH];
GetCurrentDirectory(MAX_PATH, buff);
接下来我们所要做的操作就是一个一个的找文件,遇到文件夹进递归,进去找到所有的文件,下面就是具体实现的代码输入参数就是我们刚刚获得的当前路径。
int findfile(char * filepath
{
char pathname[MAX_PATH];
WIN32_FIND_DATAA next;
HANDLE handle; sprintf(pathname,"%s\\*.*", filepath);//这一步很重要
handle=FindFirstFile(pathname, &next);
if (handle == INVALID_HANDLE_VALUE)
{
cout << "搜索失败" << endl;
return 1;
}
char buff[MAX_PATH];
while (1)
{
if (FindNextFile(handle, &next) == FALSE) return 0;
else
{
if (next.cFileName[0] == '.') continue;//用FindNextFile刚开始有.或者..,我们要避免这种情况
memset(buff, 0, MAX_PATH);
sprintf(buff, "%s\\%s", filepath, next.cFileName);//文件的绝对路径
if (next.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
findfile(buff);
}
else
{
cout << buff << endl;
}
}
}
}
c++ 指定目录下的文件遍历的更多相关文章
- iOS案例:读取指定目录下的文件列表
// // main.m // 读取指定目录下的文件列表 // // Created by Apple on 15/11/24. // Copyright © 2015年 Apple. All rig ...
- C# 获取指定目录下所有文件信息
/// <summary> /// 返回指定目录下所有文件信息 /// </summary> /// <param name="strDirectory&quo ...
- [转]C# 获取指定目录下所有文件信息、移动目录、拷贝目录
原文:http://blog.csdn.net/vchao13/article/details/6200255 1.获取指定目录下所有文件信息 /// <summary> /// 返回指定 ...
- PHP 获取指定目录下所有文件(包含子目录)
PHP 获取指定目录下所有文件(包含子目录) //glob — 寻找与模式匹配的文件路径 $filter_dir = array('CVS', 'templates_c', 'log', 'img', ...
- PHP 批量获取指定目录下的文件列表(递归,穿透所有子目录)
//调用 $dir = '/Users/xxx/www'; $exceptFolders = array('view','test'); $exceptFiles = array('BaseContr ...
- socket实现两台FTP服务器指定目录下的文件转移(不依赖第三方jar包)
通过socket实现两台FTP服务器指定目录下的文件转移,其中包含了基础了ftp文件列表显示.上传和下载.这里仅供学习用,需掌握的点有socket.ftp命令.文件流读取转换等 完整代码如下: Ftp ...
- 文件名命工具类(将指定目录下的文件的type类型的文件,进行重命名,命名后的文件将去掉type)
import java.io.File; /** * <b>function:</b> 文件命名工具类 * @author hoojo * @createDate 2012-5 ...
- linux --> 删除指定目录下所有文件
删除指定目录下所有文件 代码样例: ///////////////////////////////////////////////////// //Name: DeleteFile //Purpose ...
- python实现指定目录下批量文件的单词计数:并发版本
在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...
随机推荐
- spring整合mybatis(代理的方式)【我】
创建项目等同上一篇非代理方式随笔,只说不一样的部分: 项目结构主要是多了下面红框部分: 配置文件: 主要是dao配置文件中多了Mapper代理java类的扫描包路径: applicationConte ...
- 如何解决使用 JMeter 时遇到的问题
这是对 JMeter 官方网站上一篇文章的翻译.点击这里可以访问原文JMeterTroubleShooting. • check the log file. This is normally in t ...
- CL_GUI_FRONTEND_SERVICES 使用问题
CL_GUI_FRONTEND_SERVICES(SAP操作Windows文件) 这个类下面的方法均为静态方法,引用的时候以=>来引用方法 注意:在执行CL_GUI_FRONTEND_SERVI ...
- CompletableFuture.allOf that doens't return Void(CompletableFuture.allOf不能返回Void的解决方法)
import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Ti ...
- spring boot密码管理
1.引入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId> ...
- Linux手册页惯用的节名
节 大写 描述 name NAME 显示命令名和一段简短的描述 synopsis SYNOPSIS 命令的语法 confi guration CONFI GURATION 命令配置信息 descrip ...
- 手写k-means算法
作为聚类的代表算法,k-means本属于NP难问题,通过迭代优化的方式,可以求解出近似解. 伪代码如下: 1,算法部分 距离采用欧氏距离.参数默认值随意选的. import numpy as np d ...
- 【机器学习】梯度、Hessian矩阵、平面方程的法线以及函数导数的含义
想必单独论及" 梯度.Hessian矩阵.平面方程的法线以及函数导数"等四个基本概念的时候,绝大部分人都能够很容易地谈个一二三,基本没有问题. 其实在应用的时候,这几个概念经常被混 ...
- C学习笔记-指针
指针的概念 指针也是一个变量,指针变量的值是另一个变量的地址 换句话说就是,指针存放的是一个内存地址,该地址指向另一块内存空间 指针变量的定义 指向一个变量的变量 int *p = NULL; p = ...
- 一篇文章搞懂python2、3编码
说在前边: 编码问题一直困扰着每一个程序员的编程之路,如果不将它彻底搞清楚,那么你的的这条路一定会走的格外艰辛,尤其是针对使用python的程序员来说,这一问题更加显著, 因为python有两个版本, ...