查找文件

#include <iostream>
#include <string>
#include <windows.h>

using namespace std;
void find(char *IpPath)
{
    char szFind[100];
    char szFile[100];
    WIN32_FIND_DATA FindFileData;
    strcpy(szFind,IpPath);
    strcat(szFind,"*.*");
    HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
    if (INVALID_HANDLE_VALUE == hFind)
        return;
    while(true)
    {
        if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
        {
            if(FindFileData.cFileName[0]!='.')
            {
                strcpy(szFile,IpPath);
                strcat(szFile,"");
                strcat(szFile,FindFileData.cFileName);
                strcat(szFile,"\\*.*");
                find(szFile);
            }
        }
        else
        {
            cout <<FindFileData.cFileName << endl ;
        }
        if(!FindNextFile(hFind,&FindFileData))
            break;
    }
    FindClose(hFind);
}
void main()
{
    char *p="F:";
    find(p);
}

 

posted @ 2009-03-05 00:19  谭志宇  阅读(177)  评论(0编辑  收藏  举报