C ++按升序打印文件名

时间:2013-12-03 07:34:57

标签: c++ file sorting

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

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

我找不到另一种打印文件或按升序打印文件的方法。我真的需要按升序打印它们,然后按升序打开它们。任何帮助表示赞赏。

DIR *dpdf; struct 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;
   }
}

1 个答案:

答案 0 :(得分:7)

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

当您阅读完所有内容后,请使用std::sort对数组进行排序。

然后根据需要处理已排序的文件名。