//mp3.c
#include
#include "mp3.h"
struct music *current_music;//存储当前播放的是哪一首歌曲
int insert_count = 0;//存放歌曲数
//创建一个头节点
struct music * music_list_creat(void)
{
struct music *mhead = (struct music *)malloc(sizeof(struct music));
if(mhead == NULL)
{
printf("malloc fail\n");
return NULL;
}
//mhead->next = NULL;
//mhead->last = NULL;
//mhead->mname = {0};
memset(mhead,0,sizeof(struct music));
return mhead;
}
//插入一首歌,return the new music address
struct music * music_insert(char *mname,struct music *mlast,struct music *mhead)
{
struct music *newmusic =
(struct music *)malloc(sizeof(struct music));
if( newmusic == NULL )
{
printf("mallo newmusic fail!!\n");
return NULL;
}
insert_count++;
if( insert_count == 1 )
{
mhead->next = newmusic;
strcpy(newmusic->mname,mname);
newmusic->last = mhead;
newmusic->next = mhead;
newmusic->mid = insert_count;
}
else
{
mlast->next = newmusic;
strcpy(newmusic->mname,mname);
newmusic->last = mlast;
newmusic->next = mhead;
newmusic->mid = insert_count;
}
return newmusic;
}
//显示歌单及有几首歌
void show_music_list(struct music *mhead)
{
int i;
struct music *show = mhead;
for(i = 0;i < insert_count;i++)
{
show = show->next;
printf("%d.%s\n",show->mid,show->mname);
}
printf("歌单中有%d首歌\n",ins