一,介绍
给到一个字符串,里面包含了时间(唱该歌词的时间以及该歌词)例如“[02:16.33][04:11.44][05:11.44]我想大声宣布对你依依不舍”,如何把两者都给打印出来呢?下面给出解释
二,代码
#include<stdio.h>
void test01()
{
char buf[128] = "[02:16.33][04:11.44][05:11.44]我想大声宣布对你依依不舍";
char *lrc = buf;
while (*lrc == '[')
{
lrc += 10;
}
char *p_time = buf;
while (*p_time == '[')
{
int m = 0, s = 0;
sscanf(p_time, "[%d:%d]", &m, &s);
// 此处[是为了匹配起始位置, :匹配字符 :用于分隔分钟和秒钟。%d表示要解析一个整数。
printf("%d 秒打印歌词:%s\n", m * 60 + s, lrc);
p_time += 10;
}
int main(int argc, char const *argv[])
{
test01();
return 0;
}