次の方法で共有


_findnext、_wfindnext

前の _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 を失敗の原因を表す値に設定します。 次の表に、可能性のあるエラー コードを示します。

  • EINVAL
    無効なパラメーター:fileinfowas NULL. または、オペレーティング システムが予期しないエラーを返しました。

  • ENOENT
    一致するファイルが見つかりませんでした。

  • ENOMEM
    メモリが不足しているか、またはファイル名の長さが MAX_PATH を超えています。

無効なパラメーターが渡されると、「パラメーターの検証」に説明されているように、これらの関数は無効なパラメーター ハンドラーを呼び出します。

解説

_findfirst 関数または _findnext 関数 (またはそのバリアント) を使用した後で、_findclose を呼び出す必要があります。 これによって、アプリケーションでこれらの関数が使用していたリソースが解放されます。

w プリフィックスが付いている関数はワイド文字のバージョンで、それ以外の点では対応する 1 バイト文字用の関数と同じです。

この関数の一連のバージョンは、32 ビットまたは 64 ビットの時刻型、および 32 ビットまたは 64 ビットのファイル サイズをサポートします。 最初の数字サフィックス (32 または 64) は使用されている時刻型のサイズを表し、2 番目のサフィックス (i32 または i64) はファイル サイズが 32 ビットまたは 64 ビットのどちらの整数値で表されているかを示します。 32 ビットと 64 ビットの時刻型とファイル サイズをサポートするバージョンについては、次の表を参照してください。 64 ビットの時刻型を使用するバージョンでは、ファイルの作成日を世界協定時刻 (UTC) 3000 年 12 月 31 日 23 時 59 分 59 秒まで表現できます。32 ビットの時刻型を使用するバージョンでは、ファイルの作成日を 2038 年 1 月 18 日 19 時 14 分 07 秒までしか表現できません。 これらの関数の日付範囲の下限は、すべて 1970 年 1 月 1 日の午前零時です。

時刻のサイズを明示的に指定するバージョンを使用する特別の理由がない限り、_findnext または _wfindnext を使用してください。3 GB を超えるサイズのファイルをサポートする必要がある場合は、_findnexti64 または _wfindnexti64 使用してください。 すべてのこれらの関数は、64 ビットの時刻型を使用します。 以前のバージョンの関数は 32 ビットの時刻型を使用します。 この変更点がアプリケーションの互換性に影響する場合は、_USE_32BIT_TIME_T を定義して以前の動作を使用してください。 _USE_32BIT_TIME_T を定義すると、_findnext、_finnexti64、および対応する Unicode バージョンは 32 ビットの時刻を使用します。

_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>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

同等の .NET Framework 関数

該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

参照

システム コール

_find、_wfind 系関数