Linux下 C语言实现遍历指定目录下指定格式的文件
来源:互联网 发布:梗网络用语 编辑:程序博客网 时间:2024/05/22 08:24
/***path为指定的目录路径,遍历该目录下的文件,找出指定格式(.mp3)的文件**并将文件名分组分别写入.txt文件,方便多进程处理*/#define SINGLENUM 10int searchdir( char *path ){unsigned int count=0;//临时计数,[0,SINGLENUM]char txtname[128];//存放文本文件名FILE *fp;DIR *dp ;struct dirent *dirp ; //打开指定目录if( (dp = opendir( path )) == NULL ){ perror("opendir");}if((fp= fopen("01.txt","w+")) == NULL)//创建第一个可读写的文件{perror("fopen");exit(EXIT_FAILURE);}//开始遍历目录while( ( dirp = readdir( dp ) ) != NULL){//跳过'.'和'..'两个目录if(strcmp(dirp->d_name,".")==0 || strcmp(dirp->d_name,"..")==0)continue;int size = strlen(dirp->d_name);//如果是.wav文件,长度至少是5if(size<5)continue;//只存取.mp3扩展名的文件名if(strcmp( ( dirp->d_name + (size - 4) ) , ".mp3") != 0) continue;/*把文件名d_name 每SINGLENUM个写入一个文件,**用一个变量count记录遍历到的文件的数量,**每SINGLENUM个打开一个新文件*/if( (++count) > SINGLENUM ){fclose(fp);times++;sprintf(txtname , "%02d.txt", times);//自动命名生成.txt文件 if( ( fp = fopen(txtname,"w+") ) == NULL ){perror("fopen");exit(EXIT_FAILURE);}count=1;}fputs(dirp->d_name,fp);fputs(" ",fp);// 在一个filename结束之后,写入空格,方便脚本读取,进程转换操作}fclose(fp);closedir(dp);return 0;}
- Linux下 C语言实现遍历指定目录下指定格式的文件
- C++实现Linux下遍历指定目录下的文件
- 遍历指定目录下指定格式的文件
- Linux C :遍历输出指定目录下的所有文件
- Linux C :遍历输出指定目录下的所有文件
- Linux C :遍历输出指定目录下的所有文件
- Linux C :遍历输出指定目录下的所有文件
- Linux C :遍历输出指定目录下的所有文件
- C/C++遍历目录下的文件或指定文件
- C/C++遍历目录下的文件或指定文件
- 【编程语言】C++ 遍历指定目录下的文件
- Linux下递归遍历指定目录下的文件内容并删除的函数实现
- C++实现Linux和Windows下遍历指定目录下的文件
- VC 遍历指定目录下的文件
- 遍历指定目录下的所有文件
- linux下实现指定目录的简单遍历输出
- Linux C :遍历输出指定目录下的所有文件, 及st_mode判断文件类型
- 遍历指定目录下指定类型文件的函数
- C++ 细节与技巧 学习中更新ing
- 测试管理003:没完没了的软件测试版本?
- Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: 'sessionFa
- Madplayer移植到mini2440
- 有天跟朋友一起聊天的感受
- Linux下 C语言实现遍历指定目录下指定格式的文件
- 请教下大家,如何防止大的局域网内的ARP攻击?感觉老师给限制网速……
- 黑马程序员——HTML学习笔记
- JS特效 日历
- 随想录(开源代码的学习方法)
- hdu 3081 Marriage Match II
- Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (ut
- STM32菜鸟成长记录---GPIO的使用
- error: .repo/manifests/: contains uncommitted changes 解决方法