C语言中如何读取lrc文件并把它放在数组中然后切开输出来,歌词是浮夸

如题所述

#include<stdio.h>
#include<conio.h> 
#include <stdlib.h>
#include<windows.h>
struct lrc
{
char song_lrc[256];
struct lrc *next;
};
struct lrc *lianjie(struct lrc *head,struct lrc *node1)
{
struct lrc *node2,*node3;
if(head==NULL)
{
head=node1;
return head;
}
node2=head;
while(node2!=NULL)
{
node3=node2;
node2=node2->next;
}
node3->next=node1;
return head;
}
int main()
{
    FILE *p;
    char song_lrc[256];
    int i;
    struct lrc *head,*node1,*node2;
    head=(struct lrc*)malloc(sizeof(struct lrc));
    node2=(struct lrc*)malloc(sizeof(struct lrc));
    p=fopen("F:/Kugou/qq音乐/爸爸妈妈 - 王蓉.lrc","r+");
    fgets(song_lrc,250,p);
    strcpy(head->song_lrc,song_lrc);
    head->next=NULL;
    for(i=0;i<2;i++)
    {
    node1=(struct lrc*)malloc(sizeof(struct lrc));
    fgets(song_lrc,250,p);
    strcpy(node1->song_lrc,song_lrc);
    node1->next=NULL;
    head=lianjie(head,node1);
    }   
    node1=head;
    while(node1!=NULL)
    { 
          for(i=4;i<100;i++)
          {
                if(node1->song_lrc[i]==']'||strlen(node1->song_lrc)<3) 
                     break;                               
               if(i%34==0)
               printf("\n"); 
               printf("%c",node1->song_lrc[i]);
          }        
          node1=node1->next;          
            printf("\n"); 
    }
    fclose(p);
    getch();
}

我写的读取歌词代码,很早前写的了,可能有些问题哈,但大致上是正确的,用的是链表,可以换成二维数组

额,这个有点问题,我的百度分享里面貌似有播放器的源码。。。你先看看

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答