通过C语言解析出字符串{ "deviceSendTime":"1571724098000", "serverRecvTime":"1571724098110", "serverSendTime":"1571724098115" }中seversendtime的值
时间: 2023-10-20 09:07:07 浏览: 81
C语言指针应用实战:字符串解析
5星 · 资源好评率100%
可以使用C语言中的字符串处理函数和正则表达式来解析出字符串中的seversendtime的值。具体步骤如下:
1. 首先,将字符串转换为C语言中的字符数组。
2. 使用正则表达式匹配出seversendtime的值。
3. 将匹配到的值转换为long类型。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <regex.h>
int main() {
char str[] = "{ \"deviceSendTime\":\"1571724098000\", \"serverRecvTime\":\"1571724098110\", \"serverSendTime\":\"1571724098115\" }";
regex_t regex;
regmatch_t pmatch[2];
char *pattern = "\"serverSendTime\":\"([0-9]+)\"";
long serverSendTime;
if (regcomp(®ex, pattern, REG_EXTENDED) != 0) {
printf("regcomp error\n");
return 1;
}
if (regexec(®ex, str, 2, pmatch, 0) == 0) {
char temp[pmatch[1].rm_eo - pmatch[1].rm_so + 1];
strncpy(temp, str + pmatch[1].rm_so, pmatch[1].rm_eo - pmatch[1].rm_so);
temp[pmatch[1].rm_eo - pmatch[1].rm_so] = '\0';
serverSendTime = atol(temp);
printf("serverSendTime: %ld\n", serverSendTime);
} else {
printf("no match\n");
}
regfree(®ex);
return 0;
}
```
输出结果为:
```
serverSendTime: 1571724098115
```
阅读全文