我有两个程序将同时读取/写入文件到同一个目录(但不是同时读取相同的文件)。我已经完成了写作部分,但我正在努力实现阅读目录部分的一半体面和工作实施。
目录中的文件遵循以下命名方案:
Image-[INDEX]-[KEY/DEL]--[TIMESTAMP]
[INDEX]
根据图像是键还是增量帧以及文件创建时的 Unix/Linux 纪元时间,从 递增000000
,交替。[KEY/DEL]
[TIMESTAMP]
现在,读取程序dirent.h
每次需要在目录中查找图像时,一次读取一个文件(使用库)。当目录变得非常大时,我想这个操作/方法会很快变得非常耗费资源,并最终失败。所以,我正在尝试寻找一种替代方法。我正在考虑在初始化时读取整个目录,并将文件信息保存在一个数组中以便稍后在程序中访问/使用。然后,当请求一个不在数组中的文件时,程序将通过读取目录来更新文件数组,但这一次从它在初始化结束时停止的点开始。
这可能吗?在目录中的已知点(最后一个文件“读入”)开始读取目录中的文件名?还是我每次都必须从头开始?
或者有没有更好的方法来做到这一点?
谢谢。