c_cpp Linux的遍历读取目录下的图片路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp Linux的遍历读取目录下的图片路径相关的知识,希望对你有一定的参考价值。
#include "dirent.h"
int readDir(char *basePath, vector<string> &filelist)
{
DIR *dir;
struct dirent *ptr;
char base[1000];
if ((dir = opendir(basePath)) == NULL)
{
printf("readDir:Open dir error...\n");
exit(1);
}
while ((ptr = readdir(dir)) != NULL)
{
if (strcmp(ptr->d_name, ".") == 0 || strcmp(ptr->d_name, "..") == 0) ///current dir OR parrent dir
{
//printf("strcmp(ptr->d_name,\n");
continue;
}
else if (ptr->d_type == 8) ///file
{
char *pszFileType = NULL;
pszFileType = &(ptr->d_name[strlen(ptr->d_name) - 3]);
if (!strcasecmp(pszFileType, "jpg"))
{
string str_basePath(basePath);
string str_d_name(ptr->d_name);
string str_szFullPath = str_basePath + "/" + str_d_name;
filelist.push_back(str_szFullPath);
}
else
{
//printf("is not jpg!\n");
}
//printf("d_name:%s/%s\n",basePath,ptr->d_name);
}
/*else if (ptr->d_type == 10)
{
} *////link file
//printf("d_name:%s/%s\n",basePath,ptr->d_name);
else if (ptr->d_type == 4) ///dir
{
memset(base, '\0', sizeof(base));
strcpy(base, basePath);
strcat(base, "/");
strcat(base, ptr->d_name);
readDir(base, filelist);
}
else
{
//printf("load img error!\n");
}
}
closedir(dir);
sort(filelist.begin(), filelist.end());
return 1;
}
以上是关于c_cpp Linux的遍历读取目录下的图片路径的主要内容,如果未能解决你的问题,请参考以下文章
linux 下的文件目录操作之遍历目录
在php中, 如何动态读取目录文件夹下的图片?
交互式shell脚本遍历文件目录下的所有文件和目录(绝对路径)
数据库读取图片
php 遍历文件夹文件问题
交互式shell脚本遍历文件目录下的所有文件和目录(绝对路径)