arduino 字符串拆分
时间: 2023-10-03 15:05:55 浏览: 147
在 Arduino 中,可以使用 `strtok()` 函数将一个字符串拆分成多个子字符串。该函数的语法如下:
```c++
char *strtok(char *str, const char *delim);
```
其中,第一个参数 `str` 表示要拆分的字符串,第二个参数 `delim` 表示用于分隔子字符串的分隔符。该函数会返回第一个子字符串的指针,并将 `str` 指向下一个子字符串的起始位置。
下面是一个示例程序,演示了如何使用 `strtok()` 函数将一个字符串拆分成多个子字符串:
```c++
void setup() {
Serial.begin(9600);
while (!Serial);
char str[] = "Hello,World,Arduino";
char *token;
token = strtok(str, ",");
while (token != NULL) {
Serial.println(token);
token = strtok(NULL, ",");
}
}
void loop() {
}
```
在上面的示例程序中,我们将字符串 `"Hello,World,Arduino"` 按照逗号 `,` 进行拆分,并使用 `strtok()` 函数逐个输出子字符串。输出结果如下:
```
Hello
World
Arduino
```
需要注意的是,在使用 `strtok()` 函数拆分字符串时,原始字符串会被改变,因此如果需要保留原始字符串,可以先将其复制到一个临时变量中进行操作。同时,由于 `strtok()` 函数使用静态变量存储上一次操作的位置,因此在多次调用该函数时需要注意上一次操作是否已经完成。
阅读全文