_findnext
, _findnext32
, _findnext32i64
_findnext64
_findnext64i32
_findnexti64
_wfindnext
_wfindnext32
_wfindnext32i64
_wfindnext64
_wfindnext64i32
_wfindnexti64
Найдите следующее имя, если есть, соответствующее filespec
аргументу в предыдущем вызове _findfirst
, а затем измените fileinfo
содержимое структуры соответствующим образом.
Синтаксис
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
значение, указывающее характер сбоя. Возможные коды ошибок приведены в следующей таблице.
Значение errno |
Condition |
---|---|
EINVAL |
Недопустимый параметр: fileinfo имеет значение NULL . Или операционная система возвратила непредвиденную ошибку. |
ENOENT |
Больше не удалось найти ни одного соответствующего файла. |
ENOMEM |
Недостаточно памяти или длина имени файла превысила MAX_PATH . |
Если недопустимый параметр передается, эти функции вызывают обработчик недопустимых параметров, как описано в разделе "Проверка параметров".
Замечания
После завершения работы необходимо вызвать _findclose
функцию _findfirst
или _findnext
функцию (или любые варианты). _findclose
освобождает ресурсы, используемые этими функциями в приложении.
Варианты этих функций с префиксом w являются версиями расширенных символов; в противном случае они идентичны соответствующим однобайтовым функциям.
Варианты этих функций поддерживают 32- или 64-разрядные типы времени и 32- или 64-разрядные размеры файлов. Первый числовой суффикс (32
или 64
) указывает размер используемого типа времени; второй суффикс i32
или i64
показывает, представлен ли размер файла как 32- или 64-разрядное целое число. Сведения о том, какие версии поддерживают 32- и 64-разрядные типы времени и размеры файлов, см. в следующей таблице. Варианты, использующие 64-разрядный тип времени, допускают значение даты создания файла до 23:59:59 31 декабря 3000 года, время в формате UTC; варианты, использующие 32-разрядные типы, могут представлять дату только до 23:59:59 18 января 2038 года, время в формате UTC. Полночь 1 января 1970 года — нижняя граница диапазона дат для всех этих функций.
Если нет какой-либо определенной причины использовать версии, указывающие размер времени явно, используйте функцию _findnext
или _wfindnext
или, если необходима поддержка размеров файлов больше 3 ГБ, используйте функцию _findnexti64
или _wfindnexti64
. Все эти функции используют 64-разрядный тип времени. В предыдущих версиях эти функции использовали 32-разрядный тип времени. Если это изменение является критическим изменением для приложения, вы можете определить _USE_32BIT_TIME_T
, чтобы получить старое поведение. Если определена директива _USE_32BIT_TIME_T
, функции _findnext
, _findnexti64
и соответствующие версии Юникода используют 32-разрядное время.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Варианты типов времени и типов длины файлов в функции _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 |
Требования
Function | Обязательный заголовок |
---|---|
_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.