LRC软件测试简历,C语言 LRC歌词文件解析

001

#include 

002 #include

003 #include

004

005 #define STRLEN 256

006

007 //只是去掉时间标记

008 char *parse_lrc_line(char *line)

009 {

010     char *p = NULL;

011     p = strrchr(line,']');

012     if(p == NULL)

013     {

014         goto END;

015     }

016     p = p + 1;

017

018 END:

019     return p;

020 }

021

022

023 //在其中解析包含时间标签的LRC文件的字符串,并输出到stdout,略微修改即具有实用价值(编码还是要改的)

024 void parse_lrc_line2(char *line)

025 {

026     char *p = NULL;

027     char *right = NULL;

028     char *left = NULL;

029     char buff[STRLEN] = {0};

030     char *p2 = NULL;

031

032     int n;

033     p = line;

034     //left为左边的[所在的位置

035     left = strchr(p,'[');

036     if (left == NULL)

037     {

038         return ;

039     }

040

041     //right为右边的]所在的位置

042     right = strchr(p,']');

043

044     while(right != NULL && left != NULL)

045     {

046         n = right - left - 1;

047         strncpy(buff,left + 1,n);

048         puts(buff);

049         p2 = strrchr(p,']');

050         if (p2 != NULL)

051         {

052             p2++;

053             puts(p2);

054         }

055

056         //可以在这里保存歌词和时间标签信息,此时时间标签为buff,歌词内容为p2

057

058         //这里把buff清空为\0。。反正总归要清空的,这样就不用计算字符串长度再补\0了

059         memset(buff,'\0',n);

060

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值