Linux 获取文件夹下的所有文件

作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4129616.html

 

 1 #include <string>

 2 #include <fstream>

 3 #include <iostream>

 4 #include <stdlib.h>

 5 #include  <dirent.h>

 6 #include  <sys/types.h>

 7 #include  <sys/stat.h>

 8 #include  <string.h>

 9 using namespace std;

10 void List(const char *path, int level, vector<string> &strvec) \

11     {

12     struct dirent* ent = NULL;

13     DIR *pDir;

14     pDir = opendir(path);

15     if (pDir == NULL) 

16     {

17         return;

18     }

19     while (NULL != (ent = readdir(pDir))) 

20     {

21         if (ent->d_type == 8) 

22         {

23             //file

24             strvec.push_back(ent->d_name);

25         } 

26     else 

27     {

28             if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) 

29             {

30                 continue;

31             }

32             //directory

33             string _path(path);

34             string _dirName(ent->d_name);

35             string fullDirPath = _path + "/" + _dirName;

36             List(fullDirPath.c_str(), level + 1, strvec);

37         }

38     }

39 }

 

你可能感兴趣的:(linux)