我正在做 SDCARD 扫描仪,它扫描每个文件夹和图像文件。
我正在使用 C 代码并使用 opendir、readdir、fopen API 来枚举目录和打开的文件。我有不同的 DIR 变量。
问题是 fopen() 花费了太多时间(10000 个文件需要 300 秒),而导向器遍历需要大约 25 秒。
是否有任何 API 可以让我使用句柄、dir_ino 或类似工具加快文件打开操作,以便我可以使用目录句柄或类似工具打开文件。
到目前为止,我已经尝试过使用 dirent->dir_ino, DIR* 但没有运气。
我正在寻找比 fopen 花费更少时间的低级 api。
编辑 fts 和 ftw api 有用吗?它们似乎仅与遍历目录有关...任何其他黑客或方法?