列出指定目录下后缀是.mp3的所有文件
2014-06-14 18:43
471 查看
知识点:使用opendir和readdir函数来获得指定目录下文件的文件名称。
代码:
#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<unistd.h>
#include<sys/types.h>
#include<dirent.h>
#include<string.h>
#define MAX 1024
int dir_run(char *path)
{
DIR *dir;
struct stat st;
struct dirent *entry,*en;
char fp[MAX];
dir=opendir(path);
if(dir==NULL)
{
return -1;
}
while((entry = readdir(dir)) != NULL)
{
if((strcmp(entry->d_name, ".") == 0) || (strcmp(entry->d_name, "..") == 0))
{
continue;
}
sprintf(fp,"%s/%s",path,entry->d_name);
stat(fp,&st);
if(S_ISREG(st.st_mode))
{
if(strstr(entry->d_name,".mp3"))
{
printf("%s目录下后缀为.mp3的文件:\n",path);
printf("%s\n",entry->d_name);
}
}
if(S_ISDIR(st.st_mode))
{
dir_run(fp);
}
}
return 0;
}
int main(int argc,char * argv[])
{
if(argc==2)
{
dir_run(argv[1]);
}
else
printf("输入参数不对,正确格式:./main dirpath \n");
}
代码:
#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<unistd.h>
#include<sys/types.h>
#include<dirent.h>
#include<string.h>
#define MAX 1024
int dir_run(char *path)
{
DIR *dir;
struct stat st;
struct dirent *entry,*en;
char fp[MAX];
dir=opendir(path);
if(dir==NULL)
{
return -1;
}
while((entry = readdir(dir)) != NULL)
{
if((strcmp(entry->d_name, ".") == 0) || (strcmp(entry->d_name, "..") == 0))
{
continue;
}
sprintf(fp,"%s/%s",path,entry->d_name);
stat(fp,&st);
if(S_ISREG(st.st_mode))
{
if(strstr(entry->d_name,".mp3"))
{
printf("%s目录下后缀为.mp3的文件:\n",path);
printf("%s\n",entry->d_name);
}
}
if(S_ISDIR(st.st_mode))
{
dir_run(fp);
}
}
return 0;
}
int main(int argc,char * argv[])
{
if(argc==2)
{
dir_run(argv[1]);
}
else
printf("输入参数不对,正确格式:./main dirpath \n");
}
相关文章推荐
- 列出指定目录下的所有文件,并且有层次关系在控制台显示
- [Linux C]列出指定目录下的所有文件(夹)
- 递归列出指定目录下所有的普通文件
- javaFile循环列出指定目录下的所有文件(源代码)
- 列出指定目录下的所有文件的绝对路径
- 列出指定目录下的所有文件
- Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径
- 列出指定目录下与正则表达式”*.sh”匹配的所有文件
- 递归列出指定目录下所有的符号链接文件
- 列出指定目录下所有可被其他用户执行的文件
- 搜索指定目录下的指定后缀名字的所有文件的内容
- 递归列出指定目录下的所有文件的绝对路径
- 批处理-删除目录和所有子目录里的指定后缀文件
- 列出指定目录下所有文件的最后被修改时间
- vb-复制ie临时文件夹下所有mp3文件到指定目录,并且将utf8编码转换过来
- 当url中未明确指定文件名时,是否列出相关目录下所有文件的开关设置
- 将指定目录下所有的固定后缀的文件拷贝到另一个目录
- 树型结构列出指定目录里所有文件的PHP类
- javaFile循环列出指定目录下的所有文件(源代码)
- 树型结构列出指定目录里所有文件的PHP类