Можно ли повторно использовать opendir в C?

Я пытаюсь отлаживать прямо сейчас на C, и мне любопытно, нормально ли вызывать opendir () несколько раз, не вызывая сначала вызов closedir (), потому что я пытаюсь запустить цикл для открытия подкаталогов, когда цикл while, который вызывает readdir () встречает их. И я предполагаю, что закрытие текущего каталога приведет к тому, что я потеряю возможность его прочитать.

Вы можете использовать opendir() несколько раз. Просто держите DIR * s и вызывайте closedir() когда вы закончите с каждым.

Да, вы можете выполнять несколько вызовов opendir (). Будьте осторожны с символическими контурами ссылок, которые могут заставить вас попасть в бесконечный цикл и потреблять всю доступную память.

Вы должны быть осторожны, чтобы не пропустить DIR* который вы собираете, но пока вы не нажмете на ограничение файлового дескриптора, у вас не должно возникнуть проблемы с одновременным opendir() нескольких opendir() ,