首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dirent.h,但是正在跳过文件

使用dirent.h,但是正在跳过文件
EN

Stack Overflow用户
提问于 2014-02-14 20:01:24
回答 1查看 111关注 0票数 1

我在一个名为1.jpg3.jpg4.jpg6.jpg8.jpg10.jpg15. jpg,.100.jpg102.jpg103.jpg113.jpg等.

我使用dirent.h来迭代这些文件,但是dirent.h10.jpg开始,它传递的下一个文件突然是100.jpg,然后是102.jpg,为什么它会跳过一些图像?

代码语言:javascript
复制
int main (int argc, const char* argv[] )
{

cv::Mat image;

DIR *dir;
struct dirent *ent;
if ((dir = opendir ("C:\\Users\\Faraz\\Desktop\\Project\\detecting_false_positives_stuff\\face_images\\faces\\")) != NULL) {
    ent = readdir (dir);
    printf ("%s\n", ent->d_name);
    ent = readdir (dir);
    printf ("%s\n", ent->d_name);
    while ((ent = readdir (dir)) != NULL) {
        printf ("%s\n", ent->d_name);

        std::string fullPath = std::string("C:\\Users\\Faraz\\Desktop\\Project\\detecting_false_positives_stuff\\face_images\\faces\\") + ent->d_name;

        cout<<fullPath;

        image = cv::imread(fullPath);

        ...

    }
    closedir (dir);
}
return 1;

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-14 20:07:08

如果您想要对文件进行排序,那么您必须自己进行排序,readdir不会为您这样做的。也请参阅此:Does readdir() guarantee an order?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21788527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档