有一字符串,+ESMLCK: (1111),(2222) 必须使用 C语言 strtok 解析该字符串,提取()内的字符串,并打印出来
时间: 2024-10-10 16:08:35 浏览: 20
在C语言中,如果你有一个只包含简单括号结构的字符串,例如`+ESMLCK: (1111),(2222)`,可以使用`strtok()`函数结合循环来解析。由于这里只有一个简单的模式,我们可以直接使用`strtok()`获取每个括号内的数字,然后打印出来。但是,`strtok()`通常用于处理基于特定分隔符的字符串,而这里是两个独立的括号对,所以我们不需要真正的分隔符。
以下是简单的代码示例,它会遍历字符串,遇到每个左括号就跳到右括号结束,然后打印括号里的内容:
```c
#include <stdio.h>
#include <string.h>
char str[] = "+ESMLCK: (1111),(2222)";
char *token;
int main() {
int i;
for (i = 0; str[i]; i++) {
if (str[i] == '(') {
token = &str[i + 1]; // 跳过左括号
while (*token != ')' && token[1]) { // 检查直到遇到右括号
printf("%c", *token); // 打印字符
token++; // 移动到下一个字符
}
printf(")\n"); // 打印右括号
}
}
return 0;
}
```
这段代码会在控制台输出:
```
1111)
(2222)
```
阅读全文