首页 > 代码库 > Cocos2dx 遍历 文件夹下所有的文件(草稿)

Cocos2dx 遍历 文件夹下所有的文件(草稿)

备份,怕忘了

static std::vector<string> getFilePathAtVec(string folderPath, int depth)
{
       std::vector<string> path_vec;
        DIR *dp;
        struct dirent *entry;
        struct stat statbuf;
        if((dp = opendir(folderPath.c_str())) == NULL) {
            fprintf(stderr,"cannot open directory: %s\n", folderPath.c_str());
            return path_vec;
        }
        chdir(folderPath.c_str());
        while((entry = readdir(dp)) != NULL) {
            lstat(entry->d_name,&statbuf);
            if(S_ISDIR(statbuf.st_mode)) {
                
                if(strcmp(".",entry->d_name) == 0 ||
                   strcmp("..",entry->d_name) == 0)
                    continue;
                printf("%*s%s/\n",depth,"",entry->d_name);
                getFilePathAtVec(entry->d_name,depth+4);
            } else {
                string filename = entry->d_name;
                path_vec.push_back(filename);
            }
        }
        chdir("..");
        closedir(dp);
    return path_vec;
}

 

Cocos2dx 遍历 文件夹下所有的文件(草稿)