/*******************************************/
//函数功能:读取目录,获得.mp3,.lrc文件的文件名
//参数: void
//返回值:返回歌词、歌曲链表的头指针
/********************************************/
#include"main.h"
struct dirent *ptr;
DIR *dir;
char *dir_lrc[255],*dir_songname[255];
/*******************************************/
//函数功能:读取目录,获得.mp3文件的文件名
//
//返回值:返回歌曲链表的头指针
/********************************************/
SONGNAME *readsongname(void){
int flag=0,i=1;
SONGNAME *pa,*pb;
SONGNAME *head;
dir=opendir("./song/");//打开目录
if(dir==NULL){ //判断要打开的文件夹是否存在
printf("can't open the song dir\n");
exit(0);
}
while((ptr=readdir(dir))!=NULL){//读取文件夹中的内容,只识别.mp3文件
printf("%s\n",ptr->d_name);
char *p=strrchr(ptr->d_name,'.');
if(!strcmp(p,".mp3")){
char *temp = (char *)calloc(sizeof(char),100);
strcpy(temp,"./song/");
strcat(temp,ptr->d_name);
if(flag==0){
head=malloc(sizeof(SONGNAME));
head->songname=temp;
head->num=0;
pa=head;
flag=1;
}
else {
pb=malloc(sizeof(SONGNAME));
pa->next=pb;
pb->songname=temp;
pb->num=i++;
printf("%s\n",temp);
pa=pb;
}
}
}
close(dir);//关闭目录返回主目录
return head;
}
/*******************************************/
//函数功能:读取目录,获得.lrc文件的文件名
//
//返回值:返回歌词链表的头指针
/********************************************/
SONGLRC *readlrc(){
int flag=0,i=1;
SONGLRC *pa,*pb;
SONGLRC *head;
dir=opendir("./lrc/");//打开歌词目录
if(dir==NULL){ //判断要打开的文件夹是否存在
printf("can't open the lrc dir\n");
exit(0);
}
while((ptr=readdir(dir))!=NULL){ //读取文件夹中的内容,只识别.lrc文件
char *p=strrchr(ptr->d_name,'.');
if(!strcmp(p,".lrc")){
char *temp = (char *)calloc(sizeof(char),100);
strcpy(temp,"./lrc/");
strcat(temp,ptr->d_name);
if(flag==0){
head=malloc(sizeof(SONGLRC));
head->songlrc=temp;
head->num=0;
pa=head;
flag=1;
}
else {
pb=malloc(sizeof(SONGLRC));
pa->next=pb;
pb->songlrc=temp;
pb->num=i++;
printf("%s\n",pb->songlrc);
pa=pb;
}
}
}
close(dir);//关闭目录返回主目录
return head;
}
读取目录下.mp3和.lrc文件的文件名