_findfirst, _wfindfirst
Введите сведения о первом экземпляре имени файла, соответствующий файлу, указанному в filespec аргумент.
intptr_t _findfirst(
const char *filespec,
struct _finddata_t *fileinfo
);
intptr_t _findfirst32(
const char *filespec,
struct _finddata32_t *fileinfo
);
intptr_t _findfirst64(
const char *filespec,
struct _finddata64_t *fileinfo
);
intptr_t _findfirsti64(
const char *filespec,
struct _finddatai64_t *fileinfo
);
intptr_t _findfirst32i64(
const char *filespec,
struct _finddata32i64_t *fileinfo
);
intptr_t _findfirst64i32(
const char *filespec,
struct _finddata64i32_t *fileinfo
);
intptr_t _wfindfirst(
const wchar_t *filespec,
struct _wfinddata_t *fileinfo
);
intptr_t _wfindfirst32(
const wchar_t *filespec,
struct _wfinddata32_t *fileinfo
);
intptr_t _wfindfirst64(
const wchar_t *filespec,
struct _wfinddata64_t *fileinfo
);
intptr_t _wfindfirsti64(
const wchar_t *filespec,
struct _wfinddatai64_t *fileinfo
);
intptr_t _wfindfirst32i64(
const wchar_t *filespec,
struct _wfinddata32i64_t *fileinfo
);
intptr_t _wfindfirst64i32(
const wchar_t *filespec,
struct _wfinddata64i32_t *fileinfo
);
Параметры
filespec
Спецификация конечного файла (может содержать подстановочные знаки).fileinfo
Буфер данным файла.
Возвращаемое значение
В случае успешного выполнения; _findfirst возвращает уникальный дескриптор поиска, указав файл или группу файлов, соответствующих в составе filespec спецификация, который можно использовать в последующем вызове _findnext или _findclose.В противном случае - _findfirst возвращает и задает - 1 errno одно из следующих значений.
EINVAL
Недопустимый параметр: filespec OR fileinfo был NULL.Непредвиденную или операционная система вернула ошибку.ENOENT
Спецификация файлов, которые не могут сопоставлению.ENOMEM
Недостаточно памяти.EINVAL
Недопустимая спецификация имени файла или заданное имя файла, который был больше MAX_PATH.
Дополнительные сведения об этих и других кодах возврата см. _doserrno, errno, _sys_errlist и _sys_nerr.
Если передается недопустимый параметр, то эти функции вызываются недопустимый обработчик параметра, как описано в разделе Проверка параметров.
Заметки
Необходимо вызвать _findclose после завершения работы с этим _findfirst OR _findnext функции (или все варианты).Это освобождает ресурсы, используемые этими функциями в приложении.
Изменения этих функций, которые имеют w префикс версии расширенных символов; в противном случае они идентичны соответствующим функциям единый-байта.
Изменения этих функций поддерживают 32 или 64 типов время обновления 32 (sp2) или 64 и размеры файлов.Первый числовой суффикс (32 OR 64) показывает размер типа времени; суффикс то второй i32 OR i64и указывает, является ли размер файла представлено в виде 32 или 64 целое число.Дополнительные сведения о том, какие версии поддерживают пакетом обновления 32 (sp2) и пакетом обновления 64 (sp2) типы и размеры файлов времени см. в следующей таблице.i32 OR i64 суффикс не указан, если такой же, что размер типа времени, так _findfirst64 также поддерживает длины файла и обновления 64 (sp2) _findfirst32 поддерживает только 32 длины файла.
Эти формы использования различных функций _finddata_t структура fileinfo параметр.Дополнительные сведения о структуре см. _find, функции _wfind.
Изменения, которые используют 64 тип времени содержат даты файл-создания, выражаемые вверх до 23:59: 59 - 31-ое декабря 3000, в формате UTC.Те, которые используют типы времени представляют дату обновления 32 (sp2) только до 19:14: 7-ое января 18, 2038 В формате UTC.Полуночи 1-ое января 1970, нижняя граница диапазона дат для всех этих функций.
Если не будет конкретную причину использовать версии, которые определяют размер времени явно, укажите _findfirst OR _wfindfirst или, если нужно ГБ размеров файлов поддержки больше 3, используйте _findfirsti64 OR _wfindfirsti64.Все эти функции используют 64 тип времени.В предыдущих версиях эти функции, используемые пакетом обновления 32 (sp2) тип времени.Если это критическое изменение приложения, то можно указать _USE_32BIT_TIME_T отменить изменения к старой расширения функциональности.If _USE_32BIT_TIME_T определяет, _findfirst" _finfirsti64и соответствующие версии Юникода используют 32 раз.
Время изменения типа и длины файла _findfirst
Функции |
_USE_32BIT_TIME_T определяется? |
Тип Time |
Тип длины файла |
---|---|---|---|
_findfirst, _wfindfirst |
Не указано |
64-разрядный |
32-разр. |
_findfirst, _wfindfirst |
определен |
32-разр. |
32-разр. |
_findfirst32, _wfindfirst32 |
Не затрагивается определения макроса |
32-разр. |
32-разр. |
_findfirst64, _wfindfirst64 |
Не затрагивается определения макроса |
64-разрядный |
64-разрядный |
_findfirsti64, _wfindfirsti64 |
Не указано |
64-разрядный |
64-разрядный |
_findfirsti64, _wfindfirsti64 |
определен |
32-разр. |
64-разрядный |
_findfirst32i64, _wfindfirst32i64 |
Не затрагивается определения макроса |
32-разр. |
64-разрядный |
_findfirst64i32, _wfindfirst64i32 |
Не затрагивается определения макроса |
64-разрядный |
32-разр. |
Сопоставления подпрограммы Родов-Текста
Подпрограмма Tchar.h |
Не указанные _UNICODE и _MBCS |
Указанный символ _MBCS |
Указанный _UNICODE |
---|---|---|---|
_tfindfirst |
_findfirst |
_findfirst |
_wfindfirst |
_tfindfirst32 |
_findfirst32 |
_findfirst32 |
_wfindfirst32 |
_tfindfirst64 |
_findfirst64 |
_findfirst64 |
_wfindfirst64 |
_tfindfirsti64 |
_findfirsti64 |
_findfirsti64 |
_wfindfirsti64 |
_tfindfirst32i64 |
_findfirst32i64 |
_findfirst32i64 |
_wfindfirst32i64 |
_tfindfirst64i32 |
_findfirst64i32 |
_findfirst64i32 |
_wfindfirst64i32 |
Требования
Функция |
Обязательный заголовок |
---|---|
_findfirst |
<io.h> |
_findfirst32 |
<io.h> |
_findfirst64 |
<io.h> |
_findfirsti64 |
<io.h> |
_findfirst32i64 |
<io.h> |
_findfirst64i32 |
<io.h> |
_wfindfirst |
<io.h> OR <wchar.h> |
_wfindfirst32 |
<io.h> OR <wchar.h> |
_wfindfirst64 |
<io.h> OR <wchar.h> |
_wfindfirsti64 |
<io.h> OR <wchar.h> |
_wfindfirst32i64 |
<io.h> OR <wchar.h> |
_wfindfirst64i32 |
<io.h> OR <wchar.h> |
Дополнительные сведения о совместимости см. Совместимость во введении.
Эквивалент в .NET Framework
System:: Ввода-вывода:: DirectoryInfo:: GetFiles