PR_ReadDir¶
获取指向目录中下一个条目的指针。
语法¶
#include <prio.h>
PRDirEntry* PR_ReadDir(
  PRDir *dir,
  PRDirFlags flags);
参数¶
该函数具有以下参数
- dir
- 指向一个 PRDir 对象的指针,该对象指定一个打开的目录。 
- flags
- 指定要跳过哪些(如果有)目录条目。值可以包括以下内容 - PR_SKIP_NONE。不跳过任何文件。 
- PR_SKIP_DOT。跳过表示当前目录的目录条目“.”。 
- PR_SKIP_DOT_DOT。跳过表示父目录的目录条目“..”。 
- PR_SKIP_BOTH。跳过“.”和“..”。 
- PR_SKIP_HIDDEN。跳过隐藏文件。在 Windows 平台和 Mac OS 上,此值标识设置了“隐藏”属性的文件。在 Unix 平台上,此值标识名称以句点(“.”)开头的文件。 
 
返回值¶
- 指向目录中下一个条目的指针。 
- 如果到达目录的末尾或发生错误,则为 - NULL。原因可以通过 PR_GetError 获取。
描述¶
PR_ReadDir 返回指向目录条目结构的指针
struct PRDirEntry {
  const char *name;
};
typedef struct PRDirEntry PRDirEntry;
该结构具有以下字段
- name
- 条目的名称,相对于目录名称。 
flags 参数是 PRDirFlags 类型的枚举
typedef enum PRDirFlags {
  PR_SKIP_NONE    = 0x0,
  PR_SKIP_DOT     = 0x1,
  PR_SKIP_DOT_DOT = 0x2,
  PR_SKIP_BOTH    = 0x3,
  PR_SKIP_HIDDEN  = 0x4
} PRDirFlags;
与返回的 PRDirEntry 结构关联的内存由 NSPR 管理。调用者不得释放 PRDirEntry 结构。此外,每次 PR_ReadDir 调用返回的 PRDirEntry 结构仅在对同一 PRDir 对象进行下一次 PR_ReadDir 或 PR_CloseDir 调用之前有效。
如果到达目录的末尾,PR_ReadDir 返回 NULL,并且 PR_GetError 返回 PR_NO_MORE_FILES_ERROR。