kenlistian

厚积薄发. 勤为桨,思为帆

   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  73 随笔 :: 4 文章 :: 22 评论 :: 0 Trackbacks

 

/*
  查询文件,返回CStringList
*/
void FindFileInDir(CString szPath, CStringList& m_List)
{  
    //CStringList m_List;      //可以用vector来取代

    WIN32_FIND_DATA FindData;//查找文件必须的变量
    HANDLE hFile;
    szPath += "\\*";
    hFile = FindFirstFile((LPCSTR)szPath, &FindData);
    if(hFile == INVALID_HANDLE_VALUE)
    {
        return;
    }
    szPath.Delete (szPath.GetLength()-2,2);
    m_List.AddTail(szPath);
    do
    {
        if(strcmp(FindData.cFileName, ".") && strcmp(FindData.cFileName, "..") )
        {
            if(FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
            {
                CString s = szPath;
                s +="\\";
                s += FindData.cFileName;
                FindFileInDir(s,m_List);
            }
            else
            {
                CString s=szPath;
                s += "\\";
                s += FindData.cFileName;
                m_List.AddTail(s);
            }
        }
    }while(FindNextFile(hFile, &FindData));
    FindClose(hFile);
}

posted on 2008-01-07 11:47 kenlistian 阅读(150) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理