C++按升序打印文件名

标签 c++ file sorting

我正在使用以下代码遍历目录中的文件。此目录中的所有文件均已编号,每个文件都有一个唯一编号。

下面的代码成功打印出目录中的所有文件,但不是按升序排列。它完全随机出现,一个文件被复制。

我找不到另一种打印文件或按升序打印文件的方法。我确实需要按升序打印它们,然后再按升序打开它们。感谢您的帮助。

DIR *dpdf; 结构 dirent *epdf;

dpdf = opendir("/data/files");
if (dpdf != NULL){
   while (epdf = readdir(dpdf)){
      printf("%s\n",epdf->d_name);
         // std::out << epdf->d_name << std::endl;
   }
}

最佳答案

在阅读时将文件名放入 vector 中。

读完所有这些后,使用 std::sort 对数组进行排序。

然后按照您认为合适的方式处理排序后的文件名。

关于C++按升序打印文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20345378/

相关文章:

sorting - 用 rust 打印 NBA MVP 名单

c++ - 自定义 is_sorted 函数模板

python - 使用 ECMAScript 正则表达式验证 Python 列表索引语法

C- 文件输入/输出缓冲区和 setvbuf()

java - 删除行后无法将 temp.txt 重命名为original.txt

javascript - 如何按字符串中 'word' 出现的升序对字符串数组进行排序? javascript

c++ - 有不同的异常类

c++ - STD::Vector- 直接写入内部数组

file - 如何在使用 installshield 2010 安装过程中删除文件

sorting - Elasticsearch 排序不起作用