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

运行结果如下

相关推荐
MarkGosling18 分钟前
【开源项目】网络诊断告别命令行!NetSonar:开源多协议网络诊断利器
运维·后端·自动化运维
无敌的牛24 分钟前
Linux基础开发工具
linux·运维·服务器
Edingbrugh.南空25 分钟前
实战指南:用pmap+gdb排查Linux进程内存问题
linux·运维·服务器
朱颜辞镜花辞树‎37 分钟前
GitHub 操作指南:项目协作与自动化工作流实践
运维·自动化·github
亚马逊云开发者1 小时前
将 Go 应用从 x86 平台迁移至 Amazon Graviton:场景剖析与最佳实践
linux·数据库·golang
大叔是90后大叔1 小时前
Linux/Ubuntu安装go
linux·ubuntu·golang
孙克旭_1 小时前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
渡我白衣2 小时前
Linux操作系统之进程间通信:共享内存
linux
总有刁民想爱朕ha2 小时前
零基础搭建监控系统:Grafana+InfluxDB 保姆级教程,5分钟可视化服务器性能!
运维·服务器·grafana
Mr_Orangechen2 小时前
Linux 下使用 VS Code 远程 GDB 调试 ARM 程序
linux·运维·arm开发