_findfirst, _findfirst32, _findfirst32i64, _findfirst64, _findfirst64i32, _findfirsti64, _wfindfirst, _wfindfirst32, _wfindfirst32i64, _wfindfirst64, _wfindfirst64i32, _wfindfirsti64

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 .

errno 값 Condition
EINVAL 잘못된 매개 변수: filespec 또는 fileinfoNULL이었습니다. 또는 운영 체제에서 예기치 않은 오류를 반환했습니다.
ENOENT 일치시킬 수 없는 파일 사양입니다.
ENOMEM 메모리가 부족합니다.
EINVAL 파일 이름 사양이 잘못되었거나 제공된 파일 이름이 MAX_PATH보다 컸습니다.

이러한 코드 및 기타 반환 코드에 대한 자세한 내용은 , _doserrno_sys_nerr_sys_errlist를 참조하세요.errno

잘못된 매개 변수가 전달되면 이러한 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다.

설명

성공하려면 호출을 제공하거나 함수(또는 변형)로 완료 _findnext_findfirst 한 후에 호출 _findclose_findfirst 해야 합니다. _findclose 는 애플리케이션에서 이러한 함수에 사용되는 리소스를 해제합니다. 잘못된 핸들을 호출 _findclose 하면 반환 -1 되고 다음으로 설정 errno 됩니다 EINVAL.

접두사를 가진 w 이러한 함수의 변형은 와이드 문자 버전입니다. 그렇지 않으면 해당 싱글 바이트 함수와 동일합니다.

이러한 함수의 변형은 32비트 또는 64비트 시간 형식과 32비트 또는 64비트 파일 크기를 지원합니다. 첫 번째 숫자 접미사(32 또는 64)는 시간 형식의 크기를 나타내며, 두 번째 접미사(i32 또는 i64)는 파일 크기가 32비트 또는 64비트 정수로 표시되는지를 나타냅니다. 어떤 버전이 32비트 및 64비트 시간 형식과 파일 크기를 지원하는지에 대한 자세한 내용은 다음 표를 참조하세요. i32 시간 형식의 크기와 같은 경우 또는 i64 접미사는 생략되므로 _findfirst64 64비트 파일 길이 _findfirst32 도 지원하고 32비트 파일 길이만 지원합니다.

이러한 함수는 fileinfo 매개 변수에 대해 다양한 형태의 _finddata_t 구조체를 사용합니다. 구조에 대한 자세한 내용은 Filename 검색 함수를 참조 하세요.

64비트 시간 형식을 사용하는 변형을 통해 3000년 12월 31일 23:59:59(UTC)까지 파일 생성 날짜를 표현할 수 있습니다. 32비트 시간 형식을 사용하는 형식은 UTC인 2038년 1월 18일 23:59:59까지의 날짜만 나타냅니다. 1970년 1월 1일 자정은 이러한 모든 함수에 대한 날짜 범위의 하한입니다.

시간 크기를 명시적으로 지정하는 버전을 사용할 특별한 이유가 없다면 _findfirst 또는 _wfindfirst를 사용하고, 3GB보다 큰 파일 크기를 지원해야 한다면 _findfirsti64 또는 _wfindfirsti64를 사용하세요. 이러한 함수는 모두 64비트 시간 형식을 사용합니다. 이전 버전에서는 이러한 함수에서 32비트 시간 형식을 사용했습니다. 이 변경 내용이 애플리케이션의 호환성이 손상되는 변경인 경우 이전 동작에 되돌리기 정의 _USE_32BIT_TIME_T 할 수 있습니다. _USE_32BIT_TIME_T를 정의하면 _findfirst, _finfirsti64 및 해당 유니코드 버전에서는 32비트 시간을 사용합니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT의 전역 상태를 참조하세요.

_findfirst의 시간 형식 및 파일 길이 형식 변형

함수 _USE_32BIT_TIME_T가 정의되었나요? 시간 형식 파일 길이 형식
_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> 또는 <wchar.h>
_wfindfirst32 <io.h> 또는 <wchar.h>
_wfindfirst64 <io.h> 또는 <wchar.h>
_wfindfirsti64 <io.h> 또는 <wchar.h>
_wfindfirst32i64 <io.h> 또는 <wchar.h>
_wfindfirst64i32 <io.h> 또는 <wchar.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

참고 항목

시스템 호출
파일 이름 검색 함수