_findnext, _wfindnext
,如果有,查找下一个名称与以前的 filespec 参数调用 _findfirst,会相应地然后修改 fileinfo framework 目录。
int _findnext(
intptr_t handle,
struct _finddata_t *fileinfo
);
int _findnext32(
intptr_t handle,
struct _finddata32_t *fileinfo
);
int _findnext64(
intptr_t handle,
struct __finddata64_t *fileinfo
);
int _findnexti64(
intptr_t handle,
struct __finddatai64_t *fileinfo
);
int _findnext32i64(
intptr_t handle,
struct _finddata32i64_t *fileinfo
);
int _findnext64i32(
intptr_t handle,
struct _finddata64i32_t *fileinfo
);
int _wfindnext(
intptr_t handle,
struct _wfinddata_t *fileinfo
);
int _wfindnext32(
intptr_t handle,
struct _wfinddata32_t *fileinfo
);
int _wfindnext64(
intptr_t handle,
struct _wfinddata64_t *fileinfo
);
int _wfindnexti64(
intptr_t handle,
struct _wfinddatai64_t *fileinfo
);
int _wfindnext32i64(
intptr_t handle,
struct _wfinddatai64_t *fileinfo
);
int _wfindnext64i32(
intptr_t handle,
struct _wfinddata64i32_t *fileinfo
);
参数
handle
搜索前一个返回的句柄调用 _findfirst。fileinfo
文件信息缓冲区。
返回值
如果成功,则返回 0。 否则,返回 – 1 并将 errno 到一个失败的谓词值。 可能的错误代码如下表所示。
EINVAL
无效参数: fileinfo 是 NULL。 或者,操作系统会返回意外的错误。ENOENT
未能找到没有其他匹配的文件。ENOMEM
没有足够的内存或文件名的长度超过了 MAX_PATH。
如果一个传递的参数无效,这些函数调用的参数无效处理程序,如 参数验证所述。
备注
必须调用 _findclose ,在使用 _findfirst 或 _findnext 函数后完成 (或任何变量)。 这将释放这些功能使用的资源在应用程序。
这些功能的变化适用于 w 标题的是宽字符版本;否则,它们与对应的单字节功能是相同的。
这些功能的变体支持 32 位或 64 位时类型和 32 位或 64 位文件大小。 第一个数字后缀 (32 或 64) 指示所用的时间类型的大小;第二后缀是 i32 或 i64,指示文件大小是否表示为 32 位或 64 位整数。 有关哪些信息版本支持 32 位和 64 位时间类型以及文件大小,请参见下表。 使用 64 位时类型的变体允许文件创建日期下午 23:59 表示: 59, 3000 年十二月 31 日,, UTC;而是使用 32 位时类型下午 19:14 只表示日期: 一月 07 日 18 日 2038 中, UTC。 午夜, 1970 年一月 1 日,是日期范围的下限所有这些功能。
除非您具有特定原因需要使用显式指定时间范围的版本中,使用 _findnext 或 _wfindnext ,或者,如果需要支持文件大小大的超过 3 GB,使用 _findnexti64 或 _wfindnexti64。 所有这些函数使用 64 位时类型。 在早期版本中,这些函数使用了 32 位时类型。 如果这是应用程序的重大更改,可以定义 _USE_32BIT_TIME_T 获取旧行为。 如果 _USE_32BIT_TIME_T 定义, _findnext、 _finnexti64 及其对应的 Unicode 版本使用 32 位时间。
超时 _findnext 的类型和长度文件类型变体
函数 |
_USE_32BIT_TIME_T 定义? |
时间类型 |
文件长度类型 |
---|---|---|---|
_findnext, _wfindnext |
未定义 |
64 位 |
32 位 |
_findnext, _wfindnext |
已定义 |
32 位 |
32 位 |
_findnext32, _wfindnext32 |
不影响由宏定义 |
32 位 |
32 位 |
_findnext64, _wfindnext64 |
不影响由宏定义 |
64 位 |
64 位 |
_findnexti64, _wfindnexti64 |
未定义 |
64 位 |
64 位 |
_findnexti64, _wfindnexti64 |
已定义 |
32 位 |
64 位 |
_findnext32i64, _wfindnext32i64 |
不影响由宏定义 |
32 位 |
64 位 |
_findnext64i32, _wfindnext64i32 |
不影响由宏定义 |
64 位 |
32 位 |
一般文本例程映射
Tchar.h 实例 |
未定义的 _UNICODE 和 _MBCS |
定义的 _MBCS |
定义的 _UNICODE |
---|---|---|---|
_tfindnext |
_findnext |
_findnext |
_wfindnext |
_tfindnext32 |
_findnext32 |
_findnext32 |
_wfindnext32 |
_tfindnext64 |
_findnext64 |
_findnext64 |
_wfindnext64 |
_tfindnexti64 |
_findnexti64 |
_findnexti64 |
_wfindnexti64 |
_tfindnext32i64 |
_findnext32i64 |
_findnext32i64 |
_wfindnext32i64 |
_tfindnext64i32 |
_findnext64i32 |
_findnext64i32 |
_wfindnext64i32 |
要求
功能 |
必需的头 |
---|---|
_findnext |
io.h |
_findnext32 |
io.h |
_findnext64 |
io.h |
_findnexti64 |
io.h |
_findnext32i64 |
io.h |
_findnext64i32 |
io.h |
_wfindnext |
io.h 或 wchar.h |
_wfindnext32 |
io.h 或 wchar.h |
_wfindnext64 |
io.h 或 wchar.h |
_wfindnexti64 |
io.h 或 wchar.h |
_wfindnext32i64 |
io.h 或 wchar.h |
_wfindnext64i32 |
io.h 或 wchar.h |
有关更多兼容性信息,请参见中介绍的 兼容性 。
库
C 运行库的所有版本。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例。