基于Linux模拟音乐播放器实战

学习C语言一段时间了,我深知只是一味的往脑子里放知识是行不通的,唯有靠实践才能让知识活学活用举一反三,惯例上代码:

注:一些心得和注意事项全在代码注释里

//取歌词
char *get_lrc(char *lrc) {
   
 int num=0;
 FILE *pf = fopen(lrc,"r");
 if(pf==NULL)
  perror("fopen");
 if (fseek(pf, 0, 2))
  perror("fseek");
 else {
   
  num = (int)ftell(pf);
 }
 rewind(pf);
 char *str = (char*)(calloc(num, 4));
 if (str) {
   
  fread(str, num, 1, pf); 
 }
 else {
   
  perror("calloc");
 }
 fclose(pf);
 return str;
}
void insert_link(LRC_LINK **head, LRC_LINK *new_link) {
   
 LRC_LINK *new_node = (LRC_LINK *)calloc(1, sizeof(LRC_LINK));
 *new_node = *new_link;//一定要申请新的空间,然后内容复制
 LRC_LINK *pb = *head;
 if (pb == NULL) {
   
  *head = new_node;
 }
 else {
   
  while (pb->next != NULL) {
   
   pb = pb->next;
  }
  pb->next = new_node;
 }
}
void print_link(LRC_LINK *head) {
   
 LRC_LINK *pf = head;
 if (pf == NULL) {
   
  printf("link not find\n");
 }
 else {
   
  
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值