используйте findfirstfile и findnextfile для поиска в подкаталогах - PullRequest
0 голосов
/ 15 апреля 2020

Довольно новый здесь, в мире C ++, так как я более знаком с C#. Мне удалось заставить findfirstfile и findnextfile работать, но мне интересно, есть ли простой способ поиска по различным дискам или даже просто по подкаталогам.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020
for (auto& p : std::filesystem::directory_iterator(<Directory to iterate>))
    std::cout << p.path() << '\n';

Вы можете использовать вышеуказанный код. Чтобы использовать это, вам нужен компилятор, который поддерживает c ++ 17. Вы можете прочитать больше о библиотеке файловой системы , которая представлена ​​в c ++ 17.

Надеюсь, это поможет.

0 голосов
/ 15 апреля 2020

Да, попробуйте использовать std :: filesystem, например, вот так

    std::string tasksFolderName = "/home/user";
    std::experimental::filesystem::directory_iterator fit(tasksFolderName);
    for (auto& f : fit) {
        if (std::experimental::filesystem::is_directory(f.path())) {
            // ...
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...