是否可以在C中重复使用opendir?

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

您可以重复使用opendir() 。 只需保留你的DIR *并在完成每个DIR *调用closedir()

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

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