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;
}

运行结果如下

相关推荐
rocksun16 分钟前
Neovim,会是你的下一款“真香”开发神器吗?
linux·python·go
郝学胜-神的一滴19 分钟前
Linux线程属性设置分离技术详解
linux·服务器·数据结构·c++·程序人生·算法
qq_3176203119 分钟前
01:Docker 概述
运维·docker·容器·docker安装
知识分享小能手21 分钟前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04中的进程管理详解(15)
linux·学习·ubuntu
zfj32126 分钟前
Linux内核和发行版的的区别、职责
linux·运维·服务器·内核·linux发行版
leoufung37 分钟前
LeetCode 120. Triangle:从 0 分到 100 分的思考过程(含二维 DP 与空间优化)
linux·算法·leetcode
`林中水滴`1 小时前
Linux Shell 命令:nohup、&、>、bg、fg、jobs 总结
linux·服务器·microsoft
appearappear1 小时前
阿里云同区域不同账户下两个服务器打通内网
服务器·阿里云·云计算
helloworddm1 小时前
防止应用多开-WPF
服务器·架构·c#
最后一个bug1 小时前
当linux触发panic后进行自定义收尾回调处理
linux·服务器·系统架构·bug