FindFirstFile和FindNextFile的使用

typedef struct _FILETIME {
    DWORD dwLowDateTime;
    DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;
 
typedef struct _SYSTEMTIME {
    WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME, *LPSYSTEMTIME;

FILETIME和SYSTEMTIME都只是记录时间的结构。
GetLocalTime能够得到本地电脑设置时区的时间,得到的类型是SYSTEMTIME的类型。
常用转换函数:
LONG WINAPI CompareFileTime(const FILETIME *lpft1, const FILETIME *lpft2);
BOOL WINAPI FileTimeToSystemTime(const FILETIME *lpft, LPSYSTEMTIME lpst);
BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME *lpst, LPFILETIME lpft);
BOOL WINAPI FileTimeToLocalFileTime(const FILETIME *lpft, LPFILETIME lpftLocal);
BOOL WINAPI LocalFileTimeToFileTime(const FILETIME *lpftLocal, LPFILETIME lpft);

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tracyzhongcf/archive/2009/01/05/3711684.aspx

 

其中下面代码中的szFilePath比较重要,如果我们要查找“.h”的文件,需要将“*.*”改为“*.h”就可以了

“F://WorkSpace//134//134”文件路径

“*.*”前一个“*”代表文件名,后一个“*”代表后缀名,具体需测试查看。

 

int _tmain(int argc, _TCHAR* argv[])
{
 DWORD dwIndex = 0;
 SYSTEMTIME st = {0};
 TCHAR szFilePath[] = _T("F://WorkSpace//134//134//*.*");
 WIN32_FIND_DATA data = {0};
 HANDLE handle = ::FindFirstFile(szFilePath, &data);
 if (handle != INVALID_HANDLE_VALUE)
 {
  wprintf(_T("dwIndex = %d /n"), dwIndex++);
  wprintf(_T("dwFileAttributes = %d /n"), data.dwFileAttributes);
  FileTimeToSystemTime(&data.ftCreationTime, &st);
  wprintf(_T("ftCreationTime = %04d-%02d-%02d %02d:%02d:%02d /n"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
  FileTimeToSystemTime(&data.ftLastAccessTime, &st);
  wprintf(_T("ftLastWriteTime = %04d-%02d-%02d %02d:%02d:%02d /n"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
  FileTimeToSystemTime(&data.ftLastWriteTime, &st);
  wprintf(_T("ftLastWriteTime = %04d-%02d-%02d %02d:%02d:%02d /n"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
  wprintf(_T("nFileSizeHigh = %d /n"), data.nFileSizeHigh);
  wprintf(_T("nFileSizeLow = %d /n"), data.nFileSizeLow);
  wprintf(_T("cFileName = %s /n"), data.cFileName);
  wprintf(_T("cAlternateFileName = %s /n"), data.cAlternateFileName);

 

while (::FindNextFile(handle, &data))
  {
   wprintf(_T("/n/ndwIndex = %d /n"), dwIndex++);
   wprintf(_T("dwFileAttributes = %d /n"), data.dwFileAttributes);
   FileTimeToSystemTime(&data.ftCreationTime, &st);
   wprintf(_T("ftCreationTime = %04d-%02d-%02d %02d:%02d:%02d /n"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
   FileTimeToSystemTime(&data.ftLastAccessTime, &st);
   wprintf(_T("ftLastWriteTime = %04d-%02d-%02d %02d:%02d:%02d /n"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
   FileTimeToSystemTime(&data.ftLastWriteTime, &st);
   wprintf(_T("ftLastWriteTime = %04d-%02d-%02d %02d:%02d:%02d /n"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
   wprintf(_T("nFileSizeHigh = %d /n"), data.nFileSizeHigh);
   wprintf(_T("nFileSizeLow = %d /n"), data.nFileSizeLow);
   wprintf(_T("cFileName = %s /n"), data.cFileName);
   wprintf(_T("cAlternateFileName = %s /n"), data.cAlternateFileName);
  }
 }

 FindClose(handle);
 handle = NULL;
 return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值