gpt4 book ai didi

c - 目标文件夹修改后的 POSIX seekdir() 和 telldir() 行为

转载 作者:行者123 更新时间:2023-12-04 10:26:59 25 4
gpt4 key购买 nike

考虑以下任务:

1)读取目标目录内容,将每个找到的目录结构传递给某个过滤器函数,并以某种方式记住过滤后的元素以供以后处理

2)一段时间后,遍历过滤的元素并处理它们(做一些I/O)

最明显的方法是保存子目录的名称。
但是,我希望将内存使用量保持在最低限度并避免额外的 I/O。

根据 POSIX 手册,我可以使用 telldir() 保存每个目录条目的位置,然后使用 seekdir() 恢复它们。为了保持这些位置有效,我必须保持目标目录打开并且不使用 rewinddir() 调用。
保持目录流打开并存储目录位置列表(long int`s)似乎是一个合适的解决方案。
但是,尚不清楚文件夹修改后存储的位置是否仍然有效。我在 POSIX 标准中没有发现对这些条件的任何评论。

  • 1) 仅添加/删除新目录条目时,存储的位置是否仍然有效?
  • 2)在一些过滤的目录条目被删除的情况下,未修改的目录条目的存储位置是否仍然有效?
  • 3) 文件夹修改后,存储位置是否可以指向另一个目录条目?

  • 很容易测试并找出特定系统的这些问题的答案,但我想知道关于这个主题的标准是什么

    谢谢

    最佳答案

    直到您调用 rewinddir或关闭并重新打开目录,您对目录内容的看法不应改变。抱歉,我手边没有引用资料。如果你需要它,我稍后会找到它。

    关于c - 目标文件夹修改后的 POSIX seekdir() 和 telldir() 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3933890/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com