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

运行结果如下

相关推荐
齐齐大魔王31 分钟前
linux-僵死进程处理
linux·运维·服务器
wuminyu3 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
.小小陈.4 小时前
Linux 线程概念与控制:从底层原理到实战应用
linux·运维·jvm
网络工程小王4 小时前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习
wangbing11254 小时前
各linux版本的包管理命令
linux·运维·服务器
Joseph Cooper4 小时前
Linux/Android 跟踪技术:ftrace、TRACE_EVENT、atrace、systrace 与 perfetto 入门
android·linux·运维
比昨天多敲两行5 小时前
Linux基础开发工具(下)
linux·运维·服务器
feng14566 小时前
OpenSREClaw - 故障复盘和变更评审双 Agent 案例
运维·人工智能
linux修理工6 小时前
chrome官方下载地址
运维·服务器
无忧智库7 小时前
IT运维正在经历一场真正的范式革命:从告警风暴到AIOps自主自愈的完整工程解构(WORD)
运维