C++读取所有图片
2017-03-08 23:19
197 查看
//FileList.h //////////////////////////////////////////////////// //获取目录路径下面所有文件的内容 //适用于linux和windows系统 //////////////////////////////////////////////////// #ifndef _FILELIST_H_ #define _FILELIST_H_ #include <string> #include <vector> #include <iostream> using namespace std; #ifdef _WIN32 #include <Windows.h> #include <strsafe.h> #else #include <dirent.h> #endif ////////////////////////////////////////////////////////////////////////// //获取指定目录下所有文件的文件名,不包括文件夹,在GetFileFromDir中使用 //strDir: 输入,目录路径 //FileDirList: 输出,文件路径列表 //返回:空 ////////////////////////////////////////////////////////////////////////// vector<string> GetFileNameFromDir(string strDir) { vector<string> 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+"\\*.jpg"; hFind = FindFirstFileA(szDir.c_str(), &ffd); if (INVALID_HANDLE_VALUE == hFind) { cout<<"get file name error"<<endl; return vFileDirList; } do { if (!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { string filename=ffd.cFileName;//(const char*) string filedir=strDir+"\\"+filename; vFileDirList.push_back(filedir); } }while (FindNextFileA(hFind, &ffd) != 0); dwError = GetLastError(); if (dwError != ERROR_NO_MORE_FILES) { cout<<"FindFirstFile error"<<endl; return vFileDirList; } FindClose(hFind); #else DIR *dir; struct dirent *ptr; dir = opendir(strDir.c_str()); while( (ptr = readdir(dir)) != NULL) { string filename = string(ptr->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; } #endif int main(void) {
string strDir; vector<string> files = GetFileNameFromDir(strDir); for (int i = 0; i < files.size(); ++i){ cout << files[i] << endl; } return 0; }
相关文章推荐
- 基于C/C++的读取文件夹下所有文件(图片、文档等)的代码
- c++ 读取所有图片
- C++ 读取目录下的所有图片
- OpenCV/C/C++读取文件夹内所有图或者多张图片
- 【C++】读取文件夹下所有文件名
- 读取指定文件夹下的所有图片之相对路径
- 读取系统所有 图片 和缩略图
- 在opencv里利用c++代码批量读取本地图片
- opencv读取彩色/灰度图片像素值并存储在本地文件中c++代码实例及运行结果
- opencv读取彩色/灰度图片像素值并存储在本地文件中c++代码实例及运行结果
- 读取JPG图片的Exif属性(三) - Exif属性读取GPS信息代码(C/C++实现)
- tips:matlab读取一个目录下的所有图片
- 如何用几行代码读取目录下所有的图片
- Python读取文件夹下的所有图片并用waitKey控制退出
- C++读取某一目录下的所有文件名
- php 读取文件夹下所有图片、文件的实例
- c++ 读取图片RGB
- 【Android】读取sdcard卡上的所有图片并且显示,读取的过程有进度条显示
- 在opencv里利用c++代码批量读取本地图片
- 在opencv里利用c++代码批量读取本地图片