Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Найдите следующее имя, если есть, соответствующее 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.