我正在做SDCARD扫描仪扫描每个文件夹和图像文件.
我正在使用C代码并使用opendir,readdir,fopen API来枚举目录和文件打开.我有直接的,DIR变量.
问题是fopen()占用太多时间(10000个文件为300秒),而导演遍历需要大约25秒.
是否有任何API允许我加速文件打开操作,使用handle,dir_ino或类似的,以便我可以使用目录句柄或类似打开文件.
到目前为止,我已经尝试使用dirent-> dir_ino,DIR*,但没有运气.
我正在寻找低级api,它花费的时间少于fopen.
编辑将fts和ftw apis有用吗?它们似乎只与遍历目录有关...任何其他黑客或方法?
唯一的“低级”功能是open
int fd = open(dirent->d_name, O_RDONLY);
Run Code Online (Sandbox Code Playgroud)
不过,fopen速度应该不会慢很多。
| 归档时间: |
|
| 查看次数: |
495 次 |
| 最近记录: |