_findnext
、 _findnext32
、 _findnext32i64
、 _findnext64
、 _findnext64i32
、 _findnexti64
、 _wfindnext
、 _wfindnext32
、 _wfindnext32i64
、 _wfindnext64
、 _wfindnext64i32
、 _wfindnexti64
_findfirst
の前の呼び出しでfilespec
引数と一致する次の名前 (存在する場合) を探し、それに応じてfileinfo
構造体の内容を変更します。
構文
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
);
パラメーター
handle
_findfirst
の前の呼び出しによって返された検索ハンドル。
fileinfo
ファイル情報バッファー。
戻り値
正常に終了した場合、 は 0 を返します。 それ以外の場合は、-1 を返し、エラーの性質を示す値に errno
を設定します。 次の表に、発生する可能性のあるエラー コードを示します。
errno 値 |
条件 |
---|---|
EINVAL |
無効なパラメーター: fileinfo は NULL でした。 または、オペレーティング システムが予期しないエラーを返しました。 |
ENOENT |
これ以上一致するファイルが見つかりません。 |
ENOMEM |
メモリが不足しているか、ファイル名の長さが MAX_PATH を超えています。 |
無効なパラメーターが渡された場合、これらの関数は、 Parameter 検証で説明されているように、無効なパラメーター ハンドラーを呼び出します。
解説
_findfirst
または_findnext
関数 (または任意のバリアント) の使用が完了したら、_findclose
を呼び出す必要があります。 _findclose
は、アプリケーションでこれらの関数によって使用されるリソースを解放します。
w プレフィックスを持つこれらの関数のバリエーションはワイド文字バージョンです。それ以外の場合は、対応する 1 バイト関数と同じです。
これらの関数のバリエーションは、32 ビットや 64 ビットの時刻型と、32 ビットや 64 ビットのファイル サイズをサポートします。 最初の数字のサフィックス (32
または 64
) は、使用される時刻型のサイズを示します。2 番目のサフィックスは i32
または i64
で、ファイル サイズが 32 ビットの整数として表されるか、それとも 64 ビットの整数として表されるかを示します。 32 ビットと 64 ビットの時刻型とファイル サイズをサポートするバージョンについては、次の表を参照してください。 64 ビットの時刻型を使用するバリエーションでは、3000 年 12 月 31 日 23:59:59 (UTC) までのファイルの作成日を表現できます。32 ビットの時刻型を使用するバリエーションでは、2038 年 1 月 18 日 23:59:59 (UTC) までの日付のみを表現できます。 これらの関数の日付範囲の下限は、いずれも 1970 年 1 月 1 日の午前 0 時です。
時間のサイズを明示的に指定するバージョンを使う理由が特にない場合は、_findnext
または _wfindnext
を使用します。また、3 GB を超えるファイル サイズをサポートする必要がある場合は、_findnexti64
または _wfindnexti64
を使用します。 これらの関数はすべて 64 ビットの時刻型です。 以前のバージョンでは、これらの関数は 32 ビットの時刻型を使用していました。 この変更がアプリケーションの破壊的変更である場合は、古い動作を取得する _USE_32BIT_TIME_T
を定義できます。 _USE_32BIT_TIME_T
を定義する場合、_findnext
、_findnexti64
、およびそれに対応する Unicode バージョンは 32 ビット時刻を使用します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
_findnext の時刻型とファイル長型のバリエーション
関数 | _USE_32BIT_TIME_T は定義済み? |
時刻型 | ファイル長型 |
---|---|---|---|
_findnext , _wfindnext |
未定義 | 64 ビット | 32 ビット |
_findnext , _wfindnext |
定義済み | 32 ビット | 32 ビット |
_findnext32 , _wfindnext32 |
マクロ定義の影響を受けない | 32 ビット | 32 ビット |
_findnext64 , _wfindnext64 |
マクロ定義の影響を受けない | 64 ビット | 64 ビット |
_findnexti64 , _wfindnexti64 |
未定義 | 64 ビット | 64 ビット |
_findnexti64 , _wfindnexti64 |
定義済み | 32 ビット | 64 ビット |
_findnext32i64 , _wfindnext32i64 |
マクロ定義の影響を受けない | 32 ビット | 64 ビット |
_findnext64i32 , _wfindnext64i32 |
マクロ定義の影響を受けない | 64 ビット | 32 ビット |
汎用テキスト ルーチンのマップ
Tchar.h のルーチン | _UNICODE と _MBCS が定義されていない |
_MBCS が定義されている |
_UNICODE が定義されている |
---|---|---|---|
_tfindnext |
_findnext |
_findnext |
_wfindnext |
_tfindnext32 |
_findnext32 |
_findnext32 |
_wfindnext32 |
_tfindnext64 |
_findnext64 |
_findnext64 |
_wfindnext64 |
_tfindnexti64 |
_findnexti64 |
_findnexti64 |
_wfindnexti64 |
_tfindnext32i64 |
_findnext32i64 |
_findnext32i64 |
_wfindnext32i64 |
_tfindnext64i32 |
_findnext64i32 |
_findnext64i32 |
_wfindnext64i32 |
要件
機能 | 必須ヘッダー |
---|---|
_findnext |
<io.h> |
_findnext32 |
<io.h> |
_findnext64 |
<io.h> |
_findnexti64 |
<io.h> |
_findnext32i64 |
<io.h> |
_findnext64i32 |
<io.h> |
_wfindnext |
<io.h> または <wchar.h> |
_wfindnext32 |
<io.h> または <wchar.h> |
_wfindnext64 |
<io.h> または <wchar.h> |
_wfindnexti64 |
<io.h> または <wchar.h> |
_wfindnext32i64 |
<io.h> または <wchar.h> |
_wfindnext64i32 |
<io.h> または <wchar.h> |
互換性の詳細については、「 Compatibility」を参照してください。
ライブラリ
C ランタイム ライブラリのすべてのバージョン。