_findnext _wfindnext
尋找下一個名稱,如果有的話,比對filespec的前一個呼叫的引數 _findfirst,並接著變更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
不正確的參數: fileinfo的NULL。或者,您也可以操作系統傳回意外的錯誤。ENOENT
找不到沒有其他相符的檔案。ENOMEM
沒有足夠的記憶體或檔案名稱的長度超過MAX_PATH。
如果傳入了無效的參數,這些函式叫用無效的參數處理常式中,如所述參數驗證。
備註
您必須呼叫 _findclose 完成使用後_findfirst或_findnext函式 (或任何惡意軟體變種)。這會釋放您的應用程式中的這些函式所使用的資源。
使用這些函式的變體w前置詞是寬字元版本。 否則,就是相同的相對應的單一位元組函式。
這些函式的變體支援 32 位元或 64 位元的階段型別和 32 位元或 64 位元的檔案大小。第一個數字的後置字元 (32或64) 表示的時間使用的型別 ; 大小 第二個字尾是i32或i64,表示檔案大小是否表示為 32 位元或 64 位元的整數。了解哪種版本都支援 32 位元與 64 位元的階段型別和檔案大小的資訊,請參閱下表。使用 64 位元時間類型的變化讓檔案建立日期,以用來表示向上 23: 59: 59 之間,3000 年 12 月 31 UTC。 而那些使用 32 位元時間型別只能代表透過 19: 14: 07 以後 2038 年 1 月 18 日,UTC 日期。午夜 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 |
需求
Function |
所需的標頭 |
---|---|
_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 執行階段程式庫。
.NET Framework 對等用法
不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例。