sscanf提取相应字符到数组

代码如下

复制代码
#include<stdio.h>
#include<string.h>

int main(int argc, char const *argv[])
{
    char buf[128] = {0};
    int m1 = 0, m2 = 0;
    int s1 = 0, s2 = 0;
    char lrc[128] = "";
    sscanf("[02:16.33][04:11.44]我想大声宣布对你恋恋不舍","[%*1d%d",&m1);
    sscanf("[02:16.33][04:11.44]我想大声宣布对你恋恋不舍","[%*d%*[^4]%d",&m2);
    sscanf("[02:16.33][04:11.44]我想大声宣布对你恋恋不舍","%*[^:]%*c%2d",&s1);
    sscanf("[02:16.33][04:11.44]我想大声宣布对你恋恋不舍","%*[^:]%*c%*[^:]%*c%2d",&s2);
    sscanf("[02:16.33][04:11.44]我想大声宣布对你恋恋不舍","%*20s%s",lrc);    
    printf("%d秒打印歌词%s\n",m1*60+s1,lrc);
    printf("%d秒打印歌词%s\n",m2*60+s2,lrc);
    return 0;
}

运行结果如下

相关推荐
runfarther6 分钟前
搭建LLaMA-Factory环境
linux·运维·服务器·python·自然语言处理·ai编程·llama-factory
百思可瑞教育23 分钟前
Spring Cloud Gateway 负载均衡全面指南
运维·负载均衡·北京百思可瑞教育·百思可瑞教育·北京百思教育
hello_ world.33 分钟前
RHCA10NUMA
linux
神秘人X7071 小时前
Linux高效备份:rsync + inotify实时同步
linux·服务器·rsync
轻松Ai享生活1 小时前
一步步学习Linux initrd/initramfs
linux
轻松Ai享生活1 小时前
一步步深入学习Linux Process Scheduling
linux
绵绵细雨中的乡音3 小时前
网络基础知识
linux·网络
Peter·Pan爱编程3 小时前
Docker在Linux中安装与使用教程
linux·docker·eureka
kunge20134 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5494 小时前
DVWA中级
linux