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
。