Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Найдите следующее имя, если есть, соответствующее 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.