1 Star 0 Fork 1

陈鹏/leecode with labuladong

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
解析TLV.c 991 Bytes
一键复制 编辑 原始数据 按行查看 历史
陈鹏 提交于 2022-08-14 22:06 . c day2
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <memory.h>
int main() {
char a[1000] = "32 01 00 AE 90 02 00 01 02 30 03 00 AB 32 31 31 02 00 32 33 33 01 00 CC";
char* target = "31";
char* tvl[1000];
int tvlLen = 0;
char* p = strtok(a, " ");
while (p != NULL) {
tvl[tvlLen++] = p;
// printf("%s\t", p);
p = strtok(NULL, " ");
}
char* res[1000];
int resLen = 0, i = 0;
memset(res, 0, sizeof(char*) * 1000);
while (i < tvlLen) {
char* token = tvl[i];
int len = atoi(tvl[i + 2]) + atoi(tvl[i + 1]);
// printf("%d, %s, %d\t", i, token, len);
if (strcmp(target, token) == 0) {
for (int j = 1; j < len + 1; ++j) {
res[resLen++] = tvl[i + j + 2];
}
}
i = i + len + 3;
}
for (int i = 0; i < resLen; ++i) {
printf("%s ", res[i]);
}
// printf("%s", res);
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Chan1998/leecode-with-labuladong.git
git@gitee.com:Chan1998/leecode-with-labuladong.git
Chan1998
leecode-with-labuladong
leecode with labuladong
master

搜索帮助