递归目录的所有文件

// 这里的目录不包含"/"
void TravelDir(char* pszDirName)
{
    HANDLE hFind;
    WIN32_FIND_DATAA findfileData;
    char szDirSpec[MAX_PATH];
 sprintf(szDirSpec, "%s//*", pszDirName);
    cout<<"Current Director"<<szDirSpec<<endl;

    hFind = ::FindFirstFileA(szDirSpec, &findfileData);
    if (hFind == INVALID_HANDLE_VALUE)
    {
        cout<<"error: "<<GetLastError()<<endl;
        return;
    }
   
 while (::FindNextFileA(hFind, &findfileData) != 0)
    {
  // 文件
        if (findfileData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY &&
   strcmp( findfileData.cFileName,"thumbs.db"))  // 图片预览的缓冲文件, 我这里不需要
            cout<<"Next file name is "<< findfileData.cFileName << endl;
  // 目录
        else if(strcmp( findfileData.cFileName,".") && strcmp(findfileData.cFileName, ".."))
        {
            cout<<"Next dir name is " << findfileData.cFileName << endl;

            char szDirSpecNext[MAX_PATH];
   sprintf(szDirSpecNext, "%s//%s", pszDirName, findfileData.cFileName);
            TravelDir(szDirSpecNext);
        }
    }
    FindClose(hFind);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值