我正在使用以下代码遍历目录中的文件。此目录中的所有文件均已编号,每个文件都有一个唯一编号。
下面的代码成功打印出目录中的所有文件,但不是按升序排列。它完全随机出现,一个文件被复制。
我找不到另一种打印文件或按升序打印文件的方法。我确实需要按升序打印它们,然后再按升序打开它们。感谢您的帮助。
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/