写一段c程序,将“rsrp:-107,rsrq:-6,rssi:-81,sinr:11”数字提取出来
时间: 2023-03-02 19:08:01 浏览: 103
5G(NR)网络中的RSRP, RSSI, RSRQ and SINR.docx
5星 · 资源好评率100%
以下是提取数字的C程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "rsrp:-107,rsrq:-6,rssi:-81,sinr:11"; // 输入字符串
char *token; // 指向分隔符的指针
char *delim = ",:"; // 分隔符,包括逗号和冒号
int num;
token = strtok(str, delim); // 获取第一个数字
while (token != NULL) {
if (sscanf(token, "%d", &num) == 1) { // 将数字提取出来
printf("%d\n", num); // 输出数字
}
token = strtok(NULL, delim); // 获取下一个数字
}
return 0;
}
```
输出结果为:
```
-107
-6
-81
11
```
以上程序通过strtok函数实现字符串的分割,并使用sscanf函数将数字提取出来,最后输出每个数字。
阅读全文