博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件夹遍历
阅读量:4701 次
发布时间:2019-06-09

本文共 1495 字,大约阅读时间需要 4 分钟。

#include 
#include
#include
#include
#include
using namespace std;void finddir(const string& name,_finddata_t* fl){ vector
str; long hd=_findfirst(string(name).append("*.*").c_str(),fl); if(hd==-1){_findclose(hd);return;} do { if(fl->attrib&_A_SUBDIR && (!strcmp(fl->name,".")||!strcmp(fl->name,"..")))continue; if(fl->attrib&_A_SUBDIR){cout<
name).append("\\").c_str()<
name).append("\\"));continue;} cout<
name<

 多线程版本

#include "stdafx.h"#include 
// std::cout#include
// std::atomic#include
// std::thread#include
// std::vector#include
#include
#include
#include
#include
#include
#include
using namespace std;#define THREAD_COUNT 32vector
directory;mutex mtx;bitset
bst;atomic
file_count;atomic
folder_count;void print_a_dir(string dir){ _finddata_t* fd=new _finddata_t; long hdl=_findfirst(string(dir).append("*.*").c_str(),fd); if(hdl==-1){_findclose(hdl);return;} do { if(fd->attrib&_A_SUBDIR && (fd->name)[0]=='.')continue; if(fd->attrib&_A_SUBDIR){ string temp(dir+fd->name+"\\");folder_count++;mtx.lock();directory.push_back(temp);mtx.unlock();continue;} file_count++; //cout<
<
name<
v_thread; directory.push_back("D:\\Documents\\"); cout<
<

转载于:https://www.cnblogs.com/sky-view/p/3943174.html

你可能感兴趣的文章
git
查看>>
#备注贴# 关于Java保真压缩的问题
查看>>
程序员50题(JS版本)(五)
查看>>
phpRedisAdmin安装
查看>>
一次搞懂全排列——LeetCode四道Permutations问题详解
查看>>
Maven version management with Nexus
查看>>
Android开发中如何解决加载大图片时内存溢出的问题
查看>>
Java-GC 垃圾收集算法
查看>>
HDU 1520 Anniversary party
查看>>
webpack无法热加载(__webpack_hmr 502)
查看>>
StringUtils.hasText()
查看>>
5.jsp EL jstl
查看>>
20165310 实验三-并发程序
查看>>
PHP修改post请求和get请求的优先级
查看>>
数组的反射
查看>>
EDM制作要点
查看>>
Dockerfile详解(一)
查看>>
MongoDB语法与现有关系型数据库SQL语法比较
查看>>
[Leetcode] Search a 2D Matrix
查看>>
jpa
查看>>