1. 程式人生 > >FindFirstFile 和FindNextFile的用法

FindFirstFile 和FindNextFile的用法

1.FindFirstFile函式的用法。。。。

在SDK幫助文件中原形如下:

HANDLE FindFirstFile(

//  查詢的檔案型別。例如:.txt    .ini     .cpp  等字尾

  LPWIN32_FIND_DATA lpFindFileData                    // 得到當前所杳找檔案的一些屬性,包括檔名,檔案 大小建立時間等

);

此函式返回值HANDLE ,用法如下:

HANDLE hFile;

WIN32_FIND_DATA FileData;

hFile = FindFirstFile(" *.txt ",  &FileData);

if (hFind == INVALID_HANDLE_VALUE)
       {
              printf ("%s/n", "沒有找到檔案");
       } else

{

       printf("%s/n", "找到檔案");

}

這樣FileData 中獲得了該檔案的一些屬性。

2.FindNextFile函式的用法。。。

在SDK幫助文件中原形如下:

BOOL FindNextFile(

  HANDLE ,                                          //FindFirstFile返回的HANDLE

  LPWIN32_FIND_DATA

);

此函式成功返回非零,失敗返回零

可用來遍歷一個資料夾下面的檔案,如下:

      經過FindFirstFile函式後。可通過while迴圈遍歷。。。。

bool  bResult = false;

char szbuf[100][100] = {0};

int i = 0;

while(!bResult)

{

        if (!FindNextFile(hSearch, &FileData))
               {

                   bResult = true;

                    return;
               }

        strcpy(szbuf[i], &FileData.cFileName);

        i++;

}

可通過簡單的迴圈獲得相應的資料。如上儲存了檔名。。。