_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。有关更多信息,请参见 平台调用示例

请参见

参考

系统调用

_find, _wfind功能