readdir用于读取某个文件夹中的全部文件或文件夹,相当于ls。

但是readdir并不保证读取后的文件顺序,在不同的操作系统上可能有不同的顺序。

在某些场景下需要注意,比如读取配置文件时,可能会根据配置文件进行一些初始化,但如果初始化时有些必须的内容还未初始化,可能出现问题。

如果要实现排序可能要自行排序。

如下所示:读取文件后,用sort进行排序。

vector<string> fileNameList;

sort(fileNameList.begin(), fileNameList.end());

//递归获取文件夹下所有文件
void GetFiles(string filePath, vector<string>& files)
{if(filePath.empty()) return;struct dirent *filename = NULL;DIR *dir = NULL;dir = opendir(filePath.c_str());if(dir == NULL){return ;}string mySep = "/";while((filename = readdir(dir)) != NULL){if(!strcmp(filename->d_name,".")||!strcmp(filename->d_name,".."))continue;string path = filePath + mySep + filename->d_name;struct stat s;lstat(path.c_str(),&s);if(S_ISDIR(s.st_mode)){GetFiles(path, files);}else{files.push_back(path);}}closedir(dir);
}

Chris's Wiki :: blog/unix/ReaddirOrder https://utcc.utoronto.ca/~cks/space/blog/unix/ReaddirOrder

readdir不保证读取的文件顺序相关推荐

  1. SpringBatch顺序读取多文件(MultiResourceItemReader)和顺序写文件(MultiResourceItemWriter)(二)

    文章目录 一.抽取顺序读取多文件公共reader 二.抽取写文件公共基于MultiResourceItemWriter 三.实现自己的ResourceSuffixCreator 四.读取多文件job ...

  2. java怎么逐行读取一个文件内容,并把每行顺序打乱存入另外一个文件中

    java读入文件,并逐行输出,先在项目中建立个 "a "文件夹,然后创建一个a.txt文件,然后编辑文件,文本编辑的编码是utf-8,然后用流逐行读取输出,然后打乱每行顺序,再存放 ...

  3. json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?

    本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...

  4. python3.5读取json文件时,顺序被打乱,解决方案

    由于python3.5的dict是无序的,所以读取json文件时如果不进行排序,会造成混乱 train_json = json.load(open('./data)) # 读取json文件 train ...

  5. java读取Excel文件,用JDBC导入数据到mysql

    本需求最重要的就是如何将Excel文件中的数据读取到java集合中.首先要知道Excel表格中的每行记录即为一个对象,我们可以使用操作Excel的org.apache.poi框架,对数据进行读取.首先 ...

  6. os.listdir读取的文件列表乱序

    使用os.listdir读取的文件列表的顺序会被打乱: videos = os.listdir(PATH_1) print(videos) images = os.listdir(PATH_2) pr ...

  7. Java读取txt文件:TSP问题测试算例att48.txt

    目录 1读取文件 1.1 JDK1.5的Scanner类读取 1.2 JDK8的Files.lines+Stream流按行读取(推荐) 1.3 JDK11提供的Files.readString() 1 ...

  8. C#读取excel文件数据丢失问题

    最近在处理C#读取excel文件时碰到了个BT问题,有部分数据读取失败了,翻看了不少资料,终于找到了问题的所在,所以在这里跟大伙分享下: 简要问题分析: 用C#读取excel文件数据时,出现数据丢失现 ...

  9. C++实现读取指定文件夹下的所有文件

    前言 由于项目中需要读取某个文件夹的所有文件路径,这里简单总结如下,仅供备忘. 一 代码 1.1 头文件 include/algorithm.h #include <iostream> # ...

最新文章

  1. IBM 内核惨败:20 亿美元打水漂 !
  2. 从经济学与市场机制中,AI可以学到什么?| 美国三院院士迈克尔乔丹教授
  3. python的类和实例化对象
  4. java wmi远程桌面服务器_WMI实现远程监控多台windows服务器
  5. [html] 表单可以跨域吗?
  6. STL源码剖析 stack 栈 概述->(使用deque双端队列 / list链表)作为stack的底层容器
  7. python中object是什么类型_Python 的 type 和 object 之间是怎么一种关系?
  8. RocketMQ 顺序消费只消费一次 坑
  9. 【Python】变量那些事
  10. 【GoLang】GO语言系列--002.GO语言基础
  11. ubuntu之解决挂载NTFS磁盘时出现input/output error
  12. 手把手教你如何破解无线网络密码(蹭网教程)
  13. 微服务系列:分布式日志 ELK 搭建指南
  14. 雄迈摄像头研究笔记二:系统的研究
  15. 动态RAM和静态RAM的区别(浅学)
  16. 信创好难?ARM应用移植避坑指南请收好
  17. 如何预防恶意软件的攻击?10项防御措施来帮您!
  18. 满减折扣促销功能代码优化实战
  19. 老子云打造3D技术云服务平台,加速三维互联网变革进程
  20. 【BZOJ2069】ZAW(POI2004)-最短路+二进制分组

热门文章

  1. keras中的Merge层(实现层的相加、相减、相乘)
  2. java sscanf_倾情奉献——JAVA sscanf函数!!!
  3. 【程序设计】VB.NET程序设计学习指南
  4. Win10+Ubuntu 双系统 卸载 Ubuntu 恢复磁盘!
  5. UVM进程的同步之uvm_event
  6. 数据分析-解读excel回归分析-2019/9/27
  7. 文献阅读二—Robsut Wrod Reocginiton via Semi-Character Recurrent Neural Network
  8. iOS申请 邓白氏编码(D-U-N-S Number)
  9. Python 学习笔记之 networkx 使用
  10. Linux和UNIX“新手”们必备的与Linux系统编程相关的基本概念