流云の剑舞秋风

吾生也有涯 而知也无涯

博客园 首页 新随笔 联系 订阅 管理
  45 Posts :: 26 Stories :: 29 Comments :: 0 Trackbacks

在VC中怎么遍历一个文件夹下的所有文件和文件夹?

 
find(char * lpPath)
{
    char szFind[MAX_PATH];
    WIN32_FIND_DATA FindFileData;

    strcpy(szFind,lpPath);
    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,lpPath);
                strcat(szFile,"\\");
                strcat(szFile,FindFileData.cFileName);
                find(szFile);
            }
        }
        else
        {
            cout << FindFileData.cFileName;
        }
        if(!FindNextFile(hFind,&FindFileData))    break;
    }
    FindClose(hFind);
}

posted on 2005-06-22 23:05 流云 阅读(11327) 评论(5) 编辑 收藏

Feedback

非常非常谢谢,您真是帮了个大忙
 回复 引用   

谢谢了,找了半天终于找到了
 回复 引用   

谢谢提供这么标准的程序块
 回复 引用   

#4楼 2008-09-29 10:07 xyt[未注册用户]
非常有用,非常感谢!
 回复 引用   

#5楼 2010-12-01 17:27 edwardlewiswe      
谢谢啦。
 回复 引用 查看