_findfirst, _wfindfirst
Stellen Sie Informationen zur ersten Instanz eines Dateinamens bereit, die der Datei entspricht, die im filespec-Argument angegeben wird.
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
Zieldateispezifikation (kann Platzhalterzeichen einschließen).fileinfo
Dateiinformationspuffer.
Rückgabewert
Wenn erfolgreich, gibt _findfirst einen eindeutigen Suchenhandle zurück, das die Datei oder die Gruppe aus Dateien angibt, die die filespec - Spezifikation übereinstimmen, die in einem abschließenden Aufruf an _findnext oder _findclose verwendet werden kann. Andernfalls wird _findfirst - 1 zurück und legt errno auf einen der folgenden Werte fest.
EINVAL
Ungültiger Parameter: filespec oder fileinfo festgelegt wäre NULL. Oder, das Betriebssystem hat einen unerwarteten Fehler zurück.ENOENT
Dateibeschreibung, die nicht gefunden werden konnte.ENOMEM
Nicht genügend Arbeitsspeicher.EINVAL
Ungültige Dateinamenangaben oder Dateiname, der angegeben wurde, war größer als MAX_PATH.
Weitere Informationen zu diesen und anderen Rückgabecodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.
Wenn ein ungültiger Parameter übergeben wird, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben.
Hinweise
Sie müssen _findclose aufrufen, nachdem Sie entweder mit _findfirst oder _findnext-Funktion beendet wurde (oder alle Varianten). Dies gibt die Ressourcen frei, die durch diese Funktionen in der Anwendung verwendet werden.
Die Variationen dieser Funktionen, die das w - Präfix haben, sind Breitzeichenversionen; andernfalls sind sie zu den entsprechenden Einzelbytefunktionen identisch.
Varianten der 32-Bit- oder 64-Bit-Zeit dieser Funktionen Stützgibt und der 32-Bit- oder 64-Bit-Dateigrößen ein. Das erste numerische Suffix (32 oder 64) gibt die Größe des Zeittyps an; das zweite Suffix ist entweder i32 oder i64 und gibt an, ob die Dateigröße als 32-Bit- oder 64-Bit-ganze Zahl dargestellt wird. Informationen darüber, welche Versionen 32-Bit- und 64-Bit-Zeittypen und -Dateigrößen unterstützen, finden Sie die folgende Tabelle. Das Suffix i32 oder i64 wird weggelassen, wenn sie identisch ist, der die Größe des Zeittyps, sodass _findfirst64 auch 64-Bit-Dateilängen unterstützt und _findfirst32 nur 32-Bit-Dateilängen unterstützt.
Diese unterschiedlichen Formen der Funktionsverwendung der Struktur _finddata_t für den fileinfo-Parameter. Weitere Informationen zur Struktur, finden Sie unter _find- und _wfind-Funktionen.
Die Variationen, die einen 64-Bit-Zeittyp verwenden, aktivieren bis 23:59 die oben angegeben werden können, DateiErstellungsdatumsangaben: 59 3000 am 31. Dezember, UTC. Die, die 32-Bit-Zeittypen verwenden, stellen Datumsangaben nur bis 19:14 dar: Am 7. Januar 18 2038, UTC. Mitternacht am 1. Januar 1970 ist die untere Begrenzung des Zeitraums für alle diese Funktionen.
Sofern, dass Sie einen bestimmten Grund haben, die Versionen verwenden, die der Zeitgröße explizit angeben, wird mit _findfirst oder _wfindfirst oder, wenn Sie Unterstützungsdateigrößen größer als 3 GB benötigen, _findfirsti64 oder _wfindfirsti64. Alle diese Funktionen verwenden den 64-Bit-Zeittyp. In früheren Versionen wurde diese Funktionen einen 32-Bit-Zeittyp. Wenn dies eine Änderung für eine Anwendung ist, können Sie _USE_32BIT_TIME_T, um das alte Verhalten wiederherzustellen. Wenn _USE_32BIT_TIME_T definiert wurde, verwenden _findfirst, _finfirsti64 und ihre entsprechenden Unicode-Versionen eine 32-Bit-Zeit.
Die Zeit Typs fest und fügen Sie Längen-Typ-Variationen von _findfirst
Funktionen |
_USE_32BIT_TIME_T definiert? |
Zeittyp |
Dateilängentyp |
---|---|---|---|
_findfirst, _wfindfirst |
Nicht definiert |
64 Bit |
32 Bit |
_findfirst, _wfindfirst |
Definiert |
32 Bit |
32 Bit |
_findfirst32, _wfindfirst32 |
Beeinflusst weder von der Makrodefinition |
32 Bit |
32 Bit |
_findfirst64, _wfindfirst64 |
Beeinflusst weder von der Makrodefinition |
64 Bit |
64 Bit |
_findfirsti64, _wfindfirsti64 |
Nicht definiert |
64 Bit |
64 Bit |
_findfirsti64, _wfindfirsti64 |
Definiert |
32 Bit |
64 Bit |
_findfirst32i64, _wfindfirst32i64 |
Beeinflusst weder von der Makrodefinition |
32 Bit |
64 Bit |
_findfirst64i32, _wfindfirst64i32 |
Beeinflusst weder von der Makrodefinition |
64 Bit |
32 Bit |
Zuordnung generischer Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tfindfirst |
_findfirst |
_findfirst |
_wfindfirst |
_tfindfirst32 |
_findfirst32 |
_findfirst32 |
_wfindfirst32 |
_tfindfirst64 |
_findfirst64 |
_findfirst64 |
_wfindfirst64 |
_tfindfirsti64 |
_findfirsti64 |
_findfirsti64 |
_wfindfirsti64 |
_tfindfirst32i64 |
_findfirst32i64 |
_findfirst32i64 |
_wfindfirst32i64 |
_tfindfirst64i32 |
_findfirst64i32 |
_findfirst64i32 |
_wfindfirst64i32 |
Anforderungen
Funktion |
Erforderlicher Header |
---|---|
_findfirst |
<io.h> |
_findfirst32 |
<io.h> |
_findfirst64 |
<io.h> |
_findfirsti64 |
<io.h> |
_findfirst32i64 |
<io.h> |
_findfirst64i32 |
<io.h> |
_wfindfirst |
<io.h oder> wchar.h <> |
_wfindfirst32 |
<io.h oder> wchar.h <> |
_wfindfirst64 |
<io.h oder> wchar.h <> |
_wfindfirsti64 |
<io.h oder> wchar.h <> |
_wfindfirst32i64 |
<io.h oder> wchar.h <> |
_wfindfirst64i32 |
<io.h oder> wchar.h <> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
.NET Framework-Entsprechung
System::IO::DirectoryInfo::GetFiles