_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

См. также

Ссылки

Системные вызовы

_find, функции _wfind