C++用strtok函数提取字符串中的数字,将字母数字组合提取到字符串 8 C1 C2 L1 L2 P1 P2 S1 S2 # / TYPES OF
时间: 2024-02-15 09:38:13 浏览: 122
可以使用以下代码来用strtok函数提取字符串中的数字和字母数字组合:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "8C1C2L1L2P1P2S1S2";
char *token = strtok(str, "CLPSS");
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, "CLPSS");
}
return 0;
}
```
这个程序会将字符串中的“C”,“L”,“P”,“S”字符作为分隔符来分割字符串,然后将分割后的字符串依次输出。输出结果就是题目中给出的字符串中的数字和字母数字组合。
相关问题
C++怎么用strtok函数获取字母数字组合 8 C1 C2 L1 L2 P1 P2 S1 S2 # / TYPES OF
首先需要将需要分割的字符串传入strtok函数,然后指定分隔符为非字母数字字符(例如空格、逗号等)。接着循环调用strtok函数,每次获取到的都是一个字母数字组合。具体实现可以参考以下示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "C 8 C1 C2 L1 L2 P1 P2 S1 S2";
char *token = strtok(str, " \t\n\r\f\v,"); // 指定分隔符为空格、制表符、换行符、回车符、换页符、逗号
while (token != NULL) {
if (isalnum(token[0])) { // 判断第一个字符是否为字母或数字
printf("%s\n", token);
}
token = strtok(NULL, " \t\n\r\f\v,");
}
return 0;
}
```
输出结果为:
```
C
8
C1
C2
L1
L2
P1
P2
S1
S2
```
用strtok函数把 8 C1 C2 L1 L2 P1 P2 S1 S2 # / TYPES OF 的字母数字组合储存到字符串中
切割成单独的字符串。
可以使用以下代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "8 C1 C2 L1 L2 P1 P2 S1 S2";
char* token = strtok(str, " "); // 使用空格作为分隔符
while (token != NULL) {
printf("%s\n", token); // 输出每个单独的字符串
token = strtok(NULL, " ");
}
return 0;
}
```
输出结果为:
```
8
C1
C2
L1
L2
P1
P2
S1
S2
```
阅读全文