ファイルの検索(C言語)
キーワード:
FindFirstFile, FileTimeToLocalFileTime, FileTimeToSystemTime, FindNextFile, FindClose
サンプルコード:
/* My Documents配下のファイルを全て検索する */
void DoFind()
{
HANDLE hFind;
WIN32_FIND_DATA fd;
FILETIME ft;
SYSTEMTIME st;
/* 最初のファイル検索 */
hFind = FindFirstFile("\\my documents\\*.*", &fd);
/* 検索失敗? */
if(hFind == INVALID_HANDLE_VALUE) {
printf("検索失敗\n");
return; /******** エラー終了 ********/
}
do {
/* 更新時間取得 */
FileTimeToLocalFileTime(&fd.ftLastWriteTime, &ft);
FileTimeToSystemTime(&ft, &st);
/* 結果の表示 */
printf("ファイル名: %s", fd.cFileName);
if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("(ディレクトリ)");
}
printf("\n短いファイル名: %s\n", fd.cAlternateFileName);
printf("ファイルサイズ: %d\n", fd.nFileSizeLow);
printf("更新日: %04d/%02d/%02d %02d:%02d:%02d\n\n",
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
} while(FindNextFile(hFind, &fd)); '次のファイルを検索
/* 検索終了 */
FindClose(hFind);
}
(original text:1998/12/25 更新)
本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。