Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berikan informasi tentang instans pertama nama file yang cocok dengan file yang ditentukan dalam filespec argumen.
Sintaks
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
);
Parameter
filespec
Spesifikasi file target (dapat menyertakan karakter kartubebas).
fileinfo
Buffer informasi file. Untuk informasi selengkapnya tentang fileinfo struktur, lihat Keterangan dalam fungsi pencarian Nama File dan lihat Pemetaan jenis data. Struktur didefinisikan dalam file header yang sama dengan fungsi yang menggunakannya sebagai parameter.
Nilai hasil
Jika berhasil, _findfirst mengembalikan handel pencarian unik yang mengidentifikasi file atau grup file yang cocok dengan filespec spesifikasi, yang dapat digunakan dalam panggilan berikutnya ke _findnext atau ke _findclose. Jika tidak, _findfirst mengembalikan -1 dan mengatur errno ke salah satu nilai berikut.
| nilai errno | Kondisi |
|---|---|
EINVAL |
Parameter tidak valid: filespec atau fileinfo adalah NULL. Atau, sistem operasi mengembalikan kesalahan tak terduga. |
ENOENT |
Spesifikasi file yang tidak dapat dicocokkan. |
ENOMEM |
Memori tidak cukup. |
EINVAL |
Spesifikasi nama file tidak valid atau nama file yang diberikan lebih besar dari MAX_PATH. |
Untuk informasi selengkapnya tentang kode pengembalian ini dan lainnya, lihat errno, , _doserrno_sys_errlist, dan _sys_nerr.
Jika parameter yang tidak valid diteruskan, fungsi-fungsi ini memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter.
Keterangan
Anda harus memanggil _findclose setelah selesai dengan _findfirst fungsi atau _findnext (atau varian apa pun) yang menyediakan panggilan untuk _findfirst berhasil. _findclose membebaskan sumber daya yang digunakan oleh fungsi-fungsi ini dalam aplikasi Anda. Memanggil _findclose pada handel yang tidak valid mengembalikan -1 dan mengatur errno ke EINVAL.
Variasi fungsi-fungsi ini yang memiliki w awalan adalah versi karakter lebar; jika tidak, fungsi tersebut identik dengan fungsi byte tunggal yang sesuai.
Variasi fungsi ini mendukung jenis waktu 32-bit atau 64-bit dan ukuran file 32-bit atau 64-bit. Akhiran numerik pertama (32 atau 64) menunjukkan ukuran jenis waktu; akhiran kedua adalah i32 atau i64, dan menunjukkan apakah ukuran file diwakili sebagai bilangan bulat 32-bit atau 64-bit. Untuk informasi tentang versi mana yang mendukung jenis waktu dan ukuran file 32-bit dan 64-bit, lihat tabel berikut ini. Akhiran i32 atau i64 dihilangkan jika sama dengan ukuran jenis waktu, jadi _findfirst64 juga mendukung panjang file 64-bit dan _findfirst32 hanya mendukung panjang file 32-bit.
Fungsi-fungsi ini menggunakan berbagai bentuk _finddata_t struktur untuk fileinfo parameter . Untuk informasi selengkapnya tentang struktur, lihat Fungsi pencarian nama file.
Variasi yang menggunakan jenis waktu 64-bit memungkinkan tanggal pembuatan file dinyatakan hingga 23:59:59, 31 Desember 3000, UTC. Yang menggunakan jenis waktu 32-bit hanya mewakili tanggal hingga 23:59:59 18 Januari 2038, UTC. Tengah malam, 1 Januari 1970, adalah batas bawah rentang tanggal untuk semua fungsi ini.
Kecuali Anda memiliki alasan khusus untuk menggunakan versi yang menentukan ukuran waktu secara eksplisit, gunakan _findfirst atau _wfindfirst atau, jika Anda perlu mendukung ukuran file yang lebih besar dari 3 GB, gunakan _findfirsti64 atau _wfindfirsti64. Semua fungsi ini menggunakan jenis waktu 64-bit. Dalam versi sebelumnya, fungsi-fungsi ini menggunakan jenis waktu 32-bit. Jika perubahan ini adalah perubahan yang melanggar untuk aplikasi, Anda mungkin menentukan _USE_32BIT_TIME_T untuk kembali ke perilaku lama. Jika _USE_32BIT_TIME_T didefinisikan, _findfirst, _findfirsti64, dan versi Unicode yang sesuai menggunakan waktu 32-bit.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Jenis Waktu dan Variasi Tipe Panjang File _findfirst
| Fungsi | _USE_32BIT_TIME_T Didefinisikan? |
Jenis waktu | Jenis panjang file |
|---|---|---|---|
_findfirst, _wfindfirst |
Tidak ditentukan | 64-bit | 32-bit |
_findfirst, _wfindfirst |
Didefinisikan | 32-bit | 32-bit |
_findfirst32, _wfindfirst32 |
Tidak terpengaruh oleh definisi makro | 32-bit | 32-bit |
_findfirst64, _wfindfirst64 |
Tidak terpengaruh oleh definisi makro | 64-bit | 64-bit |
_findfirsti64, _wfindfirsti64 |
Tidak ditentukan | 64-bit | 64-bit |
_findfirsti64, _wfindfirsti64 |
Didefinisikan | 32-bit | 64-bit |
_findfirst32i64, _wfindfirst32i64 |
Tidak terpengaruh oleh definisi makro | 32-bit | 64-bit |
_findfirst64i32, _wfindfirst64i32 |
Tidak terpengaruh oleh definisi makro | 64-bit | 32-bit |
Pemetaan rutin teks generik
Tchar.h Rutin |
_UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
|---|---|---|---|
_tfindfirst |
_findfirst |
_findfirst |
_wfindfirst |
_tfindfirst32 |
_findfirst32 |
_findfirst32 |
_wfindfirst32 |
_tfindfirst64 |
_findfirst64 |
_findfirst64 |
_wfindfirst64 |
_tfindfirsti64 |
_findfirsti64 |
_findfirsti64 |
_wfindfirsti64 |
_tfindfirst32i64 |
_findfirst32i64 |
_findfirst32i64 |
_wfindfirst32i64 |
_tfindfirst64i32 |
_findfirst64i32 |
_findfirst64i32 |
_wfindfirst64i32 |
Persyaratan
| Fungsi | Header yang diperlukan |
|---|---|
_findfirst |
<io.h> |
_findfirst32 |
<io.h> |
_findfirst64 |
<io.h> |
_findfirsti64 |
<io.h> |
_findfirst32i64 |
<io.h> |
_findfirst64i32 |
<io.h> |
_wfindfirst |
<io.h> atau <wchar.h> |
_wfindfirst32 |
<io.h> atau <wchar.h> |
_wfindfirst64 |
<io.h> atau <wchar.h> |
_wfindfirsti64 |
<io.h> atau <wchar.h> |
_wfindfirst32i64 |
<io.h> atau <wchar.h> |
_wfindfirst64i32 |
<io.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.