递归搜索文件目录中的所有文件(vc)

来源:互联网 发布:长帝 cr32kea 知乎 编辑:程序博客网 时间:2024/05/17 08:22

李国帅 于2009-07-08


void FindFileInDir(char* rootDir, char* strRet){    char fname[MAC_FILENAMELENOPATH];    ZeroMemory(fname, MAC_FILENAMELENOPATH);    WIN32_FIND_DATA fd;    ZeroMemory(&fd, sizeof(WIN32_FIND_DATA));    HANDLE hSearch;    char filePathName[256];    char tmpPath[256];    ZeroMemory(filePathName, 256);    ZeroMemory(tmpPath, 256);    strcpy(filePathName, rootDir);    BOOL bSearchFinished = FALSE;    if (filePathName[strlen(filePathName) - 1] != '\\')    {        strcat(filePathName, "\\");    }    strcat(filePathName, "*");    hSearch = FindFirstFile(filePathName, &fd);    //Is directory    if ((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)        && strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, ".."))    {        strcpy(tmpPath, rootDir);        strcat(tmpPath, fd.cFileName);        FindFileInDir(tmpPath, strRet);    }    else   if (strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, ".."))    {        sprintf(fname, "%-50.50s", fd.cFileName);        strcat(strRet + strRet[strlen(strRet)], fname);    }    while (!bSearchFinished)    {        if (FindNextFile(hSearch, &fd))        {            if ((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)                && strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, ".."))            {                strcpy(tmpPath, rootDir);                strcat(tmpPath, fd.cFileName);                FindFileInDir(tmpPath, strRet);            }            else   if (strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, ".."))            {                sprintf(fname, "%-50.50s", fd.cFileName);                strcat(strRet + strRet[strlen(strRet)], fname);            }        }        else        {            if (GetLastError() == ERROR_NO_MORE_FILES)          //Normal Finished            {                bSearchFinished = TRUE;            }            else                bSearchFinished = TRUE;     //Terminate Search        }    }    FindClose(hSearch);}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀来红酒庄 怀来房地产网 中国怀来网 河北怀来葡萄 怀来自驾游 河北怀来房产 怀来葡萄酒庄园 怀来天润园小区 张家口怀来大酒店 怀来旅游景点 河北怀来住宿 怀来阳光驾校电话 怀来经济开发区 怀来信息港 怀来紫薇花园 河北怀来葡萄采摘 怀来蓝鲸大酒店 怀来温泉哪家好 怀来二手房信息 怀来广电传媒网 怀来温泉怡馨苑 怀来游泳馆 怀来葡萄庄园 怀来怡馨苑温泉门票 52怀来 怀来资讯网 怀来海棠树 52怀来网 怀来工业园 怀来空中草原 怀来温泉住宿 怀来拉菲水岸 怀来原乡美利坚 怀来小葡萄 怀来的温泉 怀来教师教育网 怀来帝曼温泉度假村怎么样 怀来德尚葡萄酒 怀来商铺出售 怀来教育科研网 怀来沙城实验中学