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_ReadDirPR_CloseDir 调用之前有效。

如果到达目录的末尾,PR_ReadDir 返回 NULL,并且 PR_GetError 返回 PR_NO_MORE_FILES_ERROR

另请参阅

PR_OpenDir