搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
菜鸟追梦旅行
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
思科与华为设备中的OSFP配置命令以及部分实例(超详细~~!!)
2
重看《Redis设计与实现》后记录几个要点_redis有一批key瞬间过期
3
文生图大模型三部曲:DDPM、LDM、SD 详细讲解!_文生图大模型有哪些
4
通过 Higress Wasm 插件 3 倍性能实现 Spring-cloud-gateway 功能_higress配置
5
深度好文 | 超全SLAM技术及应用介绍
6
pyecharts对成都java岗位经验要求及学历要求做可视化分析_echarts学历分析
7
Hive如何处理小文件问题?
8
分支限界法求0-1背包问题_01背包分支限界法
9
flutter Running Gradle task ‘assembleDebug’… 卡住问题_flutter running gradle task 'assembledebug'...
10
OWASP TOP 10解析:构建坚不可摧的Web应用安全防线_owasp top 10 2024
当前位置:
article
> 正文
C++ 遍历磁盘文件
作者:菜鸟追梦旅行 | 2024-06-14 03:22:02
赞
踩
c++遍历磁盘代码
#include <iostream>
#include <windows.h>
#include <
string
>
#include <tchar.h>
#include <fstream>
using
namespace
std;
#ifdef _UNICODE
#define TCHAR wchar
#
else
#define TCHAR
char
#endif
//file stream
fstream fStream;
//count the total file number in the directory
static
int
fileCount=0;
void
file_scan(
char
* root)
{
char
filePath[MAX_PATH];
char
tmpPath[MAX_PATH];
memset(filePath,0,MAX_PATH);
memset(tmpPath,0,MAX_PATH);
WIN32_FIND_DATA fd;
memset(&fd,0,
sizeof
(WIN32_FIND_DATA));
HANDLE hSearch;
strcpy(filePath, root);
BOOL bSearchFinished = FALSE;
if
( filePath[strlen(filePath) -1] != '\\' )
{
strcat(filePath, "\\");
}
strcat(filePath,
"*"
);
hSearch = FindFirstFile(filePath, &fd);
// the file is a dir , its name should not be '.','..', and not begin with '$'
if
( (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& (fd.cFileName[0]!='.') &&(fd.cFileName[0]!='$') )
{
strcpy(tmpPath, root);
strcat(tmpPath, fd.cFileName);
//recursion
file_scan(tmpPath);
}
// normal file
else
if
( strcmp(fd.cFileName,
"."
) && strcmp(fd.cFileName,
".."
)&& fd.cFileName[0]!='$')
{
cout<<root<<'\\'<<fd.cFileName<<endl;
fStream.write(root,strlen(root));
fStream.write("\\",1);
fStream.write(fd.cFileName,strlen(fd.cFileName));
fStream.write(
"\r\n"
,2);
++fileCount;
}
while
( !bSearchFinished )
{
if
( FindNextFile(hSearch, &fd) )
{
if
( (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& strcmp(fd.cFileName,
"."
) && strcmp(fd.cFileName,
".."
) )
{
strcpy(tmpPath, root);
memset(tmpPath+strlen(tmpPath),0,MAX_PATH-strlen(tmpPath));
if
(tmpPath[strlen(tmpPath)]!='\\')
{
tmpPath[strlen(tmpPath)]='\\';
tmpPath[strlen(tmpPath)+1]='\0';
}
strcat(tmpPath, fd.cFileName);
file_scan(tmpPath);
}
else
if
(strcmp(fd.cFileName,
"."
) && strcmp(fd.cFileName,
".."
)&& fd.cFileName[0]!='$')
{
cout<<root<<'\\'<<fd.cFileName<<endl;
fStream.write(root,strlen(root));
fStream.write("\\",1);
fStream.write(fd.cFileName,strlen(fd.cFileName));
fStream.write(
"\r\n"
,2);
++fileCount;
}
}
else
{
if
( GetLastError() == ERROR_NO_MORE_FILES )
//Normal Finished
bSearchFinished = TRUE;
else
bSearchFinished = TRUE;
//Terminate Search
}
}
FindClose(hSearch);
}
int
main(
int
argc,
char
** argv)
{
char
dir[MAX_PATH];
char
txtfile[MAX_PATH];
cout<<
"please enter the directory to be scanned !"
<<endl;
cin>>dir;
cout<<endl<<endl;
cout<<
"Please input the .txt file name (include path) to record your search result !"
<<endl;
cin>>txtfile;
cout<<endl<<endl;
fStream.open(txtfile,ios::
in
| ios::
out
);
if
(!fStream)
{
cout<<
"Can not open the .txt file"
<<endl;
return
0;
}
cout<<
"the file is opened !"
<<endl;
file_scan(dir);
fStream.close();
cout<<endl<<endl;
cout<<
"the total file number in "
<<dir<<
" : "
<<fileCount<<endl;
return
0;
}
因为要获得ftp服务器的所有资源信息,所以需要遍历磁盘文件。在网上看了不少代码,但都不能够完全遍历,今天写了一个,可以完全遍历磁盘的文件。
代码如下。
首先输入要搜索的目录:比如 D:\
然后输入生成的文本文档名(要存在) E:\result.txt
然后回车开始运行。
转载于:https://blog.51cto.com/datou97/686166
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/716064
推荐阅读
article
Github
上
托管
项目
_将
项目
托管
到
github
是
什么
意思...
github
上管理
项目
_将
项目
托管
到
github
是
什么
意思将
项目
托管
到
github
是
什么
意思 ...
赞
踩
article
【
数据结构
】
排序
_以关键字
序列
(
13
,
17
,
2
9
,
11
,
32
,
34
,
27
,
22
,
9
,
20)为例
,
排序
...
文中概括了
排序
的经典算法,包括插入
排序
,选择
排序
,归并
排序
,快速
排序
等等_以关键字
序列
(
13
,
17
,
2
9
,
11
,
32
,
3...
赞
踩
article
第3章
基于
PSO
的
已知
静态
路径
规划
方法
_
静态
路径
规划
详细实例...
水面无人艇局部危险避障算法研究Local Risk Obstacle Avoidance Algorithm of US...
赞
踩
article
MySQL
设置IP
白名单
_
mysql
配置
ip
白名单
...
mysql
设置
白名单
_
mysql
配置
ip
白名单
mysql
配置
ip
白名单
...
赞
踩
article
JAVA
入门到精通-第74讲-
满汉
楼
系统
1
-
项目分析
1
...
时间分配比例:传统开发:先设计数据库,再设计界面;原型开发:(
1
).需求分析师准确挖掘用户的需求->找界面设计师;形成一...
赞
踩
article
ES
kibana
常用
语法
---增删改查_
es
语法
修改
...
ES
常用CRUD_
es
语法
修改
es
语法
修改
增 # ...
赞
踩
article
Rabbitmq
配置
调优_
rabbitmq
配置
优化...
abbitMQ存储数据分区的可用磁盘空间限制.当可用空间值低于阀值时,流程控制将被触发.此值可根据RAM的总大小来相对设...
赞
踩
article
Py
torch
第六课:
package
-
torch
.
nn
详解(2)之
网络结构
组建_
torch
nn
网络...
本节要点:1 卷积层2 池化层3 非线性激活层4 正则层5 循环层6 线性层7 Dropout层8 Sparse层9 V...
赞
踩
article
前端
基础
知识
点
-每天
一个
基本
知识
点
(
100
+个
前端
小
知识
,你是否都知道?)_
前端
每日
小
知识
...
文章目录前言第一回合一、
知识
点
:cookie(21/09/06)二、
知识
点
:节流和防抖(21/09/07)三、
知识
点
:v...
赞
踩
article
逐飞
科技
无线
串口
实现类似
printf
功能
函数
,可发送多种类型数据_
逐飞
无线
串口
使用...
基于
逐飞
库进行全国大学生智能汽车竞赛备赛的过程中发现
逐飞
提供的
无线
串口
例程并不是很好用,于是基于该例程封装了三个
函数
,分...
赞
踩
article
java
集合
之
ArrayList
_
arraylist
有序无序...
集合
与数组 数组是一种最简单的复合数据类型,它是有序数据的
集合
,数组中的每个元素具有相同的数据类型,可以用一个统一的数组...
赞
踩
article
springboot
自定义
注解
+
mybatis
拦截器
-
数据
权限
设计_使用
自定义
注解
结合mybati...
针对部分业务功能
数据
需要实现
数据
权限
控制,
数据
关系比较复杂,有多表关联查询的场景,查阅一番资料,使用Mybatis
拦截器
...
赞
踩
article
springboot
:
拦截器
_
request
.
setattribute
还没
完成
页面
已渲染
完成
...
1、自定义
拦截器
/** * 登录检查 * 1、配置好
拦截器
要拦截哪些请求 * 2、把这些配置放在容器中 */@Slf4j...
赞
踩
article
顺序
表
ArrayList
及应用...
在集合框架中,
ArrayList
是一个普通的类,实现了List接口,具体框架图如下:说明】(了解)是以泛型方式实现的,使...
赞
踩
article
java
linux
上传
图片
_
Java
用jsrc上传
图片
到
服务器
...
Java
用jsrc上传
图片
到
服务器
介绍
Java
实现读取本地
图片
上传到Linux
服务器
通过URL链接预览
图片
博文地址1.L...
赞
踩
article
使用
Zxing
生成
和解析
QRCODE
...
以下位置可以下载zxing(Code License:Apache License 2.0):http://code.g...
赞
踩
article
Kafka
vs
RocketMQ
——
Topic
数量
对
单机性能
的
影响...
引言上一期我们
对
比了三类消息产品(
Kafka
、RabbitMQ、
RocketMQ
)单纯发送小消息
的
性能,受到了程序猿们
的
...
赞
踩
article
智谱AI 发布最新
开源
模型
GLM
-
4
-
9B
,通用
能力
超
Llama
-3-8B,多模态版本比肩GPT-
4
...
GLM
-
4
-
9B
模型
具备了更强大的推理性能、更长的上下文处理
能力
、多语言、多模态和 All Tools 等突出
能力
。_...
赞
踩
article
动态
规划
:
解决
复杂
问题
的利器(下)_
动态
规划
备忘录
法
...
动态
规划
(Dynamic Programming,DP)是一种常用的算
法
设计技术,它在
解决
一些
复杂
问题
时具有明显的优势,...
赞
踩
article
学习
ing
...
学习
ing
分治算法 一、基本概念 在计算机科学中,分治法是...
赞
踩
相关标签
github
git
数据结构
排序算法
算法
粒子群
路径规划
PSO
无人艇
mysql
tcp/ip
数据库
java
操作系统
elasticsearch
大数据
sql
rabbitmq
php
分布式
性能优化
echarts
javascript
前端