您的位置:首页 > 编程语言 > C语言/C++

C++遍历文件夹

2011-12-05 17:30 218 查看
C++遍历文件夹的代码如下:

#include<iostream>      
#include<string>      
#include<io.h>     
using namespace std;    
  
void   visit(string path,int layer)      
{      
        struct _finddata_t   filefind;      
        string  curr=path+"\\*.*";      
        int   done=0,i,handle;      
        if((handle=_findfirst(curr.c_str(),&filefind))==-1)return;        
        while(!(done=_findnext(handle,&filefind)))      
        {          
            printf("%s\n",filefind.name);       
            if(!strcmp(filefind.name,"..")){   
 continue;   
            }   
            for(i=0;i<layer;i++)cout<<"     ";                    
            if((_A_SUBDIR==filefind.attrib)) //是目录  
                {              
    printf("----------%s\n",filefind.name);       
                  cout<<filefind.name<<"(dir)"<<endl;      
                  curr=path+"\\"+filefind.name;      
 }      
           else//不是目录,是文件       
              {      
                        cout<<path+"\\"+filefind.name<<endl;     
             }      
        }              
        _findclose(handle);                  
}      
int   main()      
{              
        string   path;    
        cout<<"请输入目录"<<endl;      
        cin>>path;   
        visit(path,1);      
        system("PAUSE");      
        return   0;        
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: