参考了网络上各路大神的实现方法。主要使用了io.h库

    1. #include <iostream>
      1. #include <cstring>
        1. #include <io.h>
          1. using namespace std;
            1. void visitDir(const char* dir)
              1. {
                1. char dirNew[100];
                  1. strcpy(dirNew, dir);
                    1. strcat(dirNew, "\\*.docx"); // 在目录后面加上"\\*.*"进行第一次搜索
                        1. intptr_t handle;
                          1. _finddata_t findData;
                              1. handle = _findfirst(dirNew, &findData);
                                1. if (handle == -1)// 检查是否成功
                                  1. {
                                    1. datafile.close();
                                      1. return;
                                        1. }
                                          1. do
                                            1. {
                                              1. if (findData.attrib & _A_SUBDIR)
                                                1. {
                                                  1. if(strcmp(findData.name, ".") == 0 || strcmp(findData.name, "..") == 0)
                                                    1. continue;
                                                      1. cout << findData.name << "\t<dir>\n";// 在目录后面加上"\\"和搜索到的目录名进行下一次搜索
                                                        1. strcpy(dirNew, dir);
                                                          1. strcat(dirNew, "\\");
                                                            1. strcat(dirNew, findData.name);
                                                                1. visitDir(dirNew);
                                                                  1. }
                                                                    1. else
                                                                      1. cout << findData.name << "\t" << findData.size << " bytes.\n";
                                                                        1. }while (_findnext(handle, &findData) == 0);
                                                                          1. _findclose(handle);
                                                                            1. }
                                                                              1. int main()
                                                                                1. {
                                                                                  1. char dir[100];
                                                                                    1. cout<<"Enter a directory:";
                                                                                      1. cin.getline(dir,100);
                                                                                        1. visitDir(dir);
                                                                                          1. return 0;
                                                                                            1. }

                                                                                          一种跨平台的C++遍历目录的方法的更多相关文章

                                                                                          1. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作

                                                                                            最近因为测试目的需要遍历一个目录下面的所有文件进行操作,主要是读每个文件的内容,只要知道文件名就OK了.在Java中直接用File类就可以搞定,因为Java中使用了组合模式,使得客户端对单个文件和文件 ...

                                                                                          2. lua在linxu和windows系统下的遍历目录的方法

                                                                                            在windows下遍历目录使用lfs库:例如遍历整个目录下的所有文件 local lfs = require "lfs" function findPathName(path)  ...

                                                                                          3. python里两种遍历目录的方法

                                                                                            os.walk 函数声明:os.walk(top,topdown=True,onerror=None) (1)参数top表示需要遍历的顶级目录的路径. (2)参数topdown的默认值是“True”表 ...

                                                                                          4. python遍历目录的方法 walk listdir

                                                                                            这篇文章里描述了这些情况: https://www.cnblogs.com/jiaxin359/p/7324077.html 不用递归的时候,用 listdir 需要递归的时候,用walk

                                                                                          5. PHP遍历目录四种方法

                                                                                            学习SPL的时候,遇到了DirectoryIterator这个目录类,谢了一下遍历目录的方法.于是总结一下遍历目录的四种写法 如下: <?php /* * 方法一:利用SPL的目录类,这个很简单 ...

                                                                                          6. Java-File类获取目录下文件名-遍历目录file.listFiles

                                                                                            package com.hxzy.IOSer;import java.io.*;/*File 类获取功能 * List * ListFile * */public class Demo06 { pub ...

                                                                                          7. java基础29 迭代器 listIterator() 及各种遍历集合的方法

                                                                                            listIterator() 迭代器包含了 Iterator() 迭代器中的所有方法. 1.ListIterator的常用方法 hasPrevious() :判断是否还有上一个元素,有则返回true  ...

                                                                                          8. C++遍历目录,并把目录里超过7天的文件删除(跨平台windows&linux)

                                                                                            C++遍历目录,并把目录里超过7天的文件删除,适用于项目里删除过期的日志,或者视频文件. 在windows和linux下测试通过. windows测试结果: linux测试结果: 源码: #inclu ...

                                                                                          9. ZH奶酪:PHP遍历目录/文件的3种方法

                                                                                            其实PHP中内建函数scandir()就可以返回目录下全部文件和目录了... ========================== 1.使用$obj = dir($dir)返回目录对象$obj,然后使 ...

                                                                                          随机推荐

                                                                                          1. Stack栈 Heap堆

                                                                                            Stack(栈) 栈(stack) 又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈 ...

                                                                                          2. GoBelieve IM 服务端编译

                                                                                            #部署im1. 安装go编译环境参考链接:https://golang.org/doc/install 2. 下载im_service代码 cd $GOPATH/src/github.com/GoBe ...

                                                                                          3. CentOS7利用本地yum源配置NBD

                                                                                            一:CentOS7.0创建本地YUM源 (物理机:直接将刻录的CentOS7光盘利用光驱插入物理机上) (虚拟机: CD/DVD>>连接本地ISO) 针对物理机192.168.9.112进 ...

                                                                                          4. iOS之iOS中的(null)、<null>、 nil 的问题

                                                                                              摘要: 你有没有过这样的经历,就是界面上显示出类似<null>.(null)这样一些东西,有时候还会莫名其妙的闪退.反反复复真是曰了犬,今天来总结一下这个问题的解决方法 前段时间开发过 ...

                                                                                          5. chromium之message_pump_win之二

                                                                                            接下来分析 MessagePumpForUI上一篇分析MessagePumpWin,可以参考chromium之message_pump_win之一 根据对MessagePumpWin的分析,Messa ...

                                                                                          6. python3爬取全站美眉图片

                                                                                            爬取网站:https://www.169tp.com/xingganmeinv 该网站美眉图片有数百页,每页24张,共上万张图片,全部爬取下来 import urllib.request import ...

                                                                                          7. MySQL 5.7基于GTID的主从复制

                                                                                                    since i've broken down the replication enviornment by "reset master;" yesterday.th ...

                                                                                          8. H5新增的标签以及改良的标签

                                                                                            1>OL标签的改良 start type  reversed:翻转排序 2>datalist标签自动补全的使用 3>progress标签的使用:进度条 4>meter标签的应用 ...

                                                                                          9. CentOS7 LNMP+phpmyadmin环境搭建(三、安装phpmyadmin)

                                                                                            之前我们已经安装了lnmp的环境,现在让我们来安装phpmyadmin. 跟前一样,yum默认的库里是没有phpmyadmin的,我们需要从epel库里进行安装,之前已经安装过epel的朋友就可以直接 ...

                                                                                          10. 迪米特法则(LoD)

                                                                                            如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用.其根本思想是类之间的松耦合. 类之间的耦合越弱,越有利于 ...