_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
파일 정보 버퍼입니다. 구조체에 fileinfo
대한 자세한 내용은 파일 이름 검색 함수의 비고를 참조하고 데이터 형식 매핑을 참조하세요. 구조체는 매개 변수로 사용하는 함수와 동일한 헤더 파일에 정의됩니다.
반환 값
성공 _findfirst
하면 사양과 일치하는 filespec
파일 또는 그룹을 식별하는 고유한 검색 핸들을 반환하며, 이 핸들은 후속 호출 _findnext
에서 _findclose
사용할 수 있습니다. 그렇지 않으면 _findfirst
-1을 반환하고 다음 값 중 하나로 설정합니다 errno
.
errno 값 | 조건 |
---|---|
EINVAL |
잘못된 매개 변수: filespec 또는 fileinfo 가 NULL 이었습니다. 또는 운영 체제에서 예기치 않은 오류를 반환했습니다. |
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
, _findfirsti64
및 해당 유니코드 버전에서는 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> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.