作者:jostree
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 void List(const char *path, int level, vector &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 //file24 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 //directory33 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 }