参考http://www.cnblogs.com/xudong-bupt/p/3504442.html做了些修改。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <unistd.h>
char img_path[500][1000];
int img_num=0;
int readFileList(char *basePath)
{
DIR *dir;
struct dirent *ptr;
//char base[1000];
if ((dir=opendir(basePath)) == NULL)
{
perror("Open dir error...");
exit(1);
}
while ((ptr=readdir(dir)) != NULL)
{
if(strcmp(ptr->d_name,".")==0 || strcmp(ptr->d_name,"..")==0) ///current dir OR parrent dir
continue;
else if(ptr->d_type == 8) ///file
{
strcpy(img_path[img_num],basePath);
strcat(img_path[img_num++],ptr->d_name);
}
else
{
continue;
}
}
closedir(dir);
return 1;
}int main()
{
printf("Enter Image Path: ");
fflush(stdout);
char basePath[100]="data/";
input=fgets(input, 256, stdin);
if(!input) return;
strtok(input, "\n");
strcat(basePath,input);
strcat(basePath,"/");
readFileList(basePath);
}得到的文件名(带路径)保存在img_path中。

本文介绍了一个使用C语言编写的程序,该程序能够遍历指定路径下的所有文件,并将文件名及其完整路径存储到一个字符串数组中。通过调用标准库函数实现对目录的操作,适用于需要批量处理文件的场景。
648

被折叠的 条评论
为什么被折叠?



