copyright by Jun Yang, SUN YAT-SEN UNIVERSITY
//FileList.h//////获取目录路径下面所有文件的内容//适用于linux和windows系统////#ifndef _FILELIST_H_#define _FILELIST_H_#include#include #include using namespace std;#ifdef _WIN32#include #include #else#include #endif////获取指定目录下所有文件的文件名,不包括文件夹,在GetFileFromDir中使用//strDir: 输入,目录路径//FileDirList: 输出,文件路径列表//返回:空//vector GetFileNameFromDir(string strDir){ vector vFileDirList;#ifdef _WIN32 WIN32_FIND_DATAA ffd; //LARGE_INTEGER filesize; string szDir; //size_t length_of_arg; HANDLE hFind = INVALID_HANDLE_VALUE; DWORD dwError=0; szDir=strDir+"\\*"; hFind = FindFirstFileA(szDir.c_str(), &ffd); if (INVALID_HANDLE_VALUE == hFind) { cout<<"get file name error"< d_name); if (filename == "." || filename == ".."){ continue; } string path = strDir + string("/") + filename; vFileDirList.push_back(path); } closedir(dir); sort(vFileDirList.begin(), vFileDirList.end());#endif return vFileDirList;}#endifint main(void){ vector files = GetFileNameFromDir("/Volumes/RamDisk/Caches"); for (int i = 0; i < files.size(); ++i){ cout << files[i] << endl; } return 0; }