是否有可能在C中反复使用opendir?

时间:2009-11-16 15:44:20

标签: c directory

我正在尝试在C中进行调试,我很好奇,如果可以反复调用opendir()而不必先调用closedir(),因为我试图运行一个循环来打开子目录调用readdir()的循环遇到它们。我假设关闭当前目录会导致我无法读取它。

3 个答案:

答案 0 :(得分:5)

您可以反复使用opendir()。只需保留DIR * s并在完成每项操作后致电closedir()

答案 1 :(得分:2)

是的,你可以做多个opendir()调用。警惕符号链接循环,这可能导致您进入无限循环并消耗所有可用内存。

答案 2 :(得分:1)

您必须小心不要泄漏您正在收集的DIR*,但只要您没有达到文件描述符限制,就不应该有多个{{opendir() 1}}同时打开。