C语言使用sscanf分解字符串"+COPS: 0,0,\"CHINA TELECOM\",7\r\nOK\r\n"
时间: 2024-04-17 14:21:53 浏览: 228
在C语言中,sscanf函数可以用来从字符串中提取特定格式的数据。对于你提供的字符串"+COPS: 0,0,\"CHINA TELECOM\",7\r\nOK\r\n",我们可以使用sscanf函数来分解它。
首先,我们需要定义一些变量来存储提取出来的数据。假设我们需要提取的数据包括两个整数和一个字符串,可以这样定义变量:
```c
int num1, num2;
char operator[20];
```
然后,我们可以使用sscanf函数来分解字符串并将提取出来的数据存储到相应的变量中。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
char str[] = "+COPS: 0,0,\"CHINA TELECOM\",7\r\nOK\r\n";
int num1, num2;
char operator[20];
sscanf(str, "+COPS: %d,%d,\"%[^\"]\",%*d", &num1, &num2, operator);
printf("num1: %d\n", num1);
printf("num2: %d\n", num2);
printf("operator: %s\n", operator);
return 0;
}
```
运行以上代码,输出结果如下:
```
num1: 0
num2: 0
operator: CHINA TELECOM
```
通过sscanf函数,我们成功地从字符串中提取出了数字0、数字0和字符串"CHINA TELECOM"。其中,%d表示提取整数,%[^\"]表示提取不包含双引号的字符串。
阅读全文