_findnext、_findnext32、_findnext32i64、_findnext64、_findnext64i32、_findnexti64、_wfindnext、_wfindnext32、_wfindnext32i64、_wfindnext64、_wfindnext64i32、_wfindnexti64_findnext, _findnext32, _findnext32i64, _findnext64, _findnext64i32, _findnexti64, _wfindnext, _wfindnext32, _wfindnext32i64, _wfindnext64, _wfindnext64i32, _wfindnexti64

次の名前 (存在する場合)を検索します。これは、以前に行ったのfilespec引数に一致し、それに応じて、 fileinfo構造の内容を変更します。Find the next name, if any, that matches the filespec argument in a previous call to _findfirst, and then alter the fileinfo structure contents accordingly.

構文Syntax

int _findnext(
   intptr_t handle,
   struct _finddata_t *fileinfo
);
int _findnext32(
   intptr_t handle,
   struct _finddata32_t *fileinfo
);
int _findnext64(
   intptr_t handle,
   struct __finddata64_t *fileinfo
);
int _findnexti64(
   intptr_t handle,
   struct __finddatai64_t *fileinfo
);
int _findnext32i64(
   intptr_t handle,
   struct _finddata32i64_t *fileinfo
);
int _findnext64i32(
   intptr_t handle,
   struct _finddata64i32_t *fileinfo
);
int _wfindnext(
   intptr_t handle,
   struct _wfinddata_t *fileinfo
);
int _wfindnext32(
   intptr_t handle,
   struct _wfinddata32_t *fileinfo
);
int _wfindnext64(
   intptr_t handle,
   struct _wfinddata64_t *fileinfo
);
int _wfindnexti64(
   intptr_t handle,
   struct _wfinddatai64_t *fileinfo
);
int _wfindnext32i64(
   intptr_t handle,
   struct _wfinddatai64_t *fileinfo
);
int _wfindnext64i32(
   intptr_t handle,
   struct _wfinddata64i32_t *fileinfo
);

パラメーターParameters

handlehandle
前回の呼び出しによって返された検索ハンドル (_s)Search handle returned by a previous call to _findfirst.

fileinfofileinfo
ファイル情報バッファー。File information buffer.

戻り値Return Value

正常に終了した場合は、0 を返します。If successful, returns 0. それ以外の場合、は-1 を返し、 errnoをエラーの性質を示す値に設定します。Otherwise, returns -1 and sets errno to a value indicating the nature of the failure. 次の表に、発生する可能性のあるエラー コードを示します。Possible error codes are shown in the following table.

errno の値errno value 条件Condition
EINVALEINVAL 無効なパラメーター: fileinfoNULLでした。Invalid parameter: fileinfo was NULL. または、オペレーティング システムが予期しないエラーを返しました。Or, the operating system returned an unexpected error.
ENOENTENOENT これ以上一致するファイルが見つかりません。No more matching files could be found.
ENOMEMENOMEM メモリが不足しているか、ファイル名の長さがMAX_PATHを超えています。Not enough memory or the file name's length exceeded MAX_PATH.

無効なパラメーターが渡されると、「パラメーターの検証」で説明されているように、これらの関数は無効なパラメーター ハンドラーを呼び出します。If an invalid parameter is passed in, these functions invoke the invalid parameter handler, as described in Parameter Validation.

RemarksRemarks

すべての関数 (または任意のバリアント) の使用を終了した後に、 findcloseを呼び出す必要があります。You must call _findclose after you are finished using either the _findfirst or _findnext function (or any variants). 呼び出すと、アプリケーション内でこれらの関数が使用しているリソースが解放されます。This frees up resources used by these functions in your application.

Wプレフィックスを使用したこれらの関数のバリエーションは、ワイド文字バージョンです。それ以外の場合は、対応する1バイト関数と同じです。The variations of these functions with the w prefix are wide-character versions; otherwise, they are identical to the corresponding single-byte functions.

これらの関数のバリエーションは、32 ビットや 64 ビットの時刻型と、32 ビットや 64 ビットのファイル サイズをサポートします。Variations of these functions support 32-bit or 64-bit time types and 32-bit or 64-bit file sizes. 最初の数字のサフィックス (32または64) は、使用された時間の種類のサイズを示します。2番目のサフィックスは、 i32またはi64のいずれかで、ファイルサイズが32ビットまたは64ビットの整数で表されるかどうかを示します。The first numerical suffix (32 or 64) indicates the size of the time type used; the second suffix is either i32 or i64, indicating whether the file size is represented as a 32-bit or 64-bit integer. 32 ビットと 64 ビットの時刻型とファイル サイズをサポートするバージョンについては、次の表を参照してください。For information about which versions support 32-bit and 64-bit time types and file sizes, see the following table. 64 ビットの時刻型を使用するバリエーションでは、3000 年 12 月 31 日 23:59:59 (UTC) までのファイルの作成日を表現できます。32 ビットの時刻型を使用するバリエーションでは、2038 年 1 月 18 日 23:59:59 (UTC) までの日付のみを表現できます。The variations that use a 64-bit time type allow file-creation dates to be expressed up through 23:59:59, December 31, 3000, UTC; whereas those using 32-bit time types only represent dates through 23:59:59 January 18, 2038, UTC. これらの関数の日付範囲の下限は、いずれも 1970 年 1 月 1 日の午前 0 時です。Midnight, January 1, 1970, is the lower bound of the date range for all these functions.

時間のサイズを明示的に指定するバージョンを使用する特定の理由がない限り、 _wfindnext または _findnexti64 を使用するか、3 GB を超えるファイルサイズをサポートする必要がある場合は、または _wfindnexti64を使用します。Unless you have a specific reason to use the versions that specify the time size explicitly, use _findnext or _wfindnext or, if you need to support file sizes greater than 3 GB, use _findnexti64 or _wfindnexti64. これらの関数はすべて 64 ビットの時刻型です。All these functions use the 64-bit time type. 以前のバージョンでは、これらの関数は 32 ビットの時刻型を使用していました。In previous versions, these functions used a 32-bit time type. これがアプリケーションの互換性に影響する変更である場合は、以前の動作を取得するように _USE_32BIT_TIME_Tを定義できます。If this is a breaking change for an application, you might define _USE_32BIT_TIME_T to get the old behavior. _USE_32BIT_TIME_T が定義されている場合は、( )、 その対応する Unicodeバージョンでは、32ビットの時刻が使用されます。If _USE_32BIT_TIME_T is defined, _findnext, _finnexti64 and their corresponding Unicode versions use a 32-bit time.

_findnext の時刻型とファイル長型のバリエーションTime Type and File Length Type Variations of _findnext

関数Functions _USE_32BIT_TIME_Tは定義されていますか?_USE_32BIT_TIME_T defined? 時刻型Time type ファイル長型File length type
findnext_wfindnext_findnext, _wfindnext 未定義Not defined 64 ビット64-bit 32 ビット32-bit
findnext_wfindnext_findnext, _wfindnext 定義済みDefined 32 ビット32-bit 32 ビット32-bit
_findnext32_wfindnext32_findnext32, _wfindnext32 マクロ定義の影響を受けないNot affected by the macro definition 32 ビット32-bit 32 ビット32-bit
_findnext64_wfindnext64_findnext64, _wfindnext64 マクロ定義の影響を受けないNot affected by the macro definition 64 ビット64-bit 64 ビット64-bit
_findnexti64_wfindnexti64_findnexti64, _wfindnexti64 未定義Not defined 64 ビット64-bit 64 ビット64-bit
_findnexti64_wfindnexti64_findnexti64, _wfindnexti64 定義済みDefined 32 ビット32-bit 64 ビット64-bit
_findnext32i64_wfindnext32i64_findnext32i64, _wfindnext32i64 マクロ定義の影響を受けないNot affected by the macro definition 32 ビット32-bit 64 ビット64-bit
_findnext64i32_wfindnext64i32_findnext64i32, _wfindnext64i32 マクロ定義の影響を受けないNot affected by the macro definition 64 ビット64-bit 32 ビット32-bit

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

Tchar.h のルーチンTchar.h routine _UNICODE および _MBCS が未定義の場合_UNICODE and _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tfindnext_tfindnext _findnext_findnext _findnext_findnext _wfindnext_wfindnext
_tfindnext32_tfindnext32 _findnext32_findnext32 _findnext32_findnext32 _wfindnext32_wfindnext32
_tfindnext64_tfindnext64 _findnext64_findnext64 _findnext64_findnext64 _wfindnext64_wfindnext64
_tfindnexti64_tfindnexti64 _findnexti64_findnexti64 _findnexti64_findnexti64 _wfindnexti64_wfindnexti64
_tfindnext32i64_tfindnext32i64 _findnext32i64_findnext32i64 _findnext32i64_findnext32i64 _wfindnext32i64_wfindnext32i64
_tfindnext64i32_tfindnext64i32 _findnext64i32_findnext64i32 _findnext64i32_findnext64i32 _wfindnext64i32_wfindnext64i32

必要条件Requirements

関数Function 必須ヘッダーRequired header
_findnext_findnext <io.h><io.h>
_findnext32_findnext32 <io.h><io.h>
_findnext64_findnext64 <io.h><io.h>
_findnexti64_findnexti64 <io.h><io.h>
_findnext32i64_findnext32i64 <io.h><io.h>
_findnext64i32_findnext64i32 <io.h><io.h>
_wfindnext_wfindnext <io.h> または <wchar.h><io.h> or <wchar.h>
_wfindnext32_wfindnext32 <io.h> または <wchar.h><io.h> or <wchar.h>
_wfindnext64_wfindnext64 <io.h> または <wchar.h><io.h> or <wchar.h>
_wfindnexti64_wfindnexti64 <io.h> または <wchar.h><io.h> or <wchar.h>
_wfindnext32i64_wfindnext32i64 <io.h> または <wchar.h><io.h> or <wchar.h>
_wfindnext64i32_wfindnext64i32 <io.h> または <wchar.h><io.h> or <wchar.h>

互換性の詳細については、「 互換性」を参照してください。For more compatibility information, see Compatibility.

ライブラリLibraries

C ランタイム ライブラリのすべてのバージョン。All versions of the C run-time libraries.

関連項目See also

システム コールSystem Calls
ファイル名検索関数Filename Search Functions