ardunio将String字符串,根据逗号分割成一个数组,遍历打印
时间: 2024-05-10 15:18:17 浏览: 13
可以使用`split()`函数将一个字符串按照指定的分隔符分割成多个子字符串,然后将这些子字符串存储到一个数组中。下面是一个示例代码,可以实现将一个逗号分隔的字符串分割成一个数组并遍历打印每个元素:
```C++
String str = "apple,banana,orange,grape";
String arr[4];
int count = str.split(',', arr, 4); // 将字符串按逗号分割成4个子字符串
for (int i = 0; i < count; i++) {
Serial.println(arr[i]); // 打印每个子字符串
}
```
在上面的代码中,首先定义了一个包含逗号分隔的字符串`str`,然后定义了一个名为`arr`的数组来存储分割后的子字符串。使用`split()`函数将`str`字符串按照逗号分割成4个子字符串,并将这些子字符串存储到`arr`数组中。最后,使用`for`循环遍历`arr`数组,并逐一打印每个元素。
相关问题
ardunio将String字符串分割成一个数组,遍历打印
在Arduino中,可以使用`strtok()`函数将一个字符串分割成多个子字符串,并将其存储在一个字符数组中。下面是一个示例代码,将一个字符串按照空格进行分割,并将分割后的子串存储在`strArray`数组中,然后遍历数组并打印每个子串:
```
void setup() {
Serial.begin(9600);
String str = "hello world, this is Arduino";
char charArray[str.length()+1];
str.toCharArray(charArray, str.length()+1);
char* strArray[10]; // 最多存储10个子串
int i = 0;
char* token = strtok(charArray, " ");
while (token != NULL) {
strArray[i++] = token;
token = strtok(NULL, " ");
}
for (int j=0; j<i; j++) {
Serial.println(strArray[j]);
}
}
void loop() {
}
```
在上面的代码中,首先将原始字符串转换为字符数组,然后定义一个字符指针数组`strArray`,最多可以存储10个子串。然后使用`strtok()`函数将原始字符串按照空格分割成多个子串,并将每个子串的地址存储在`strArray`数组中。最后遍历`strArray`数组并打印每个子串。
ardunio字符串分割数组
在Arduino中,可以使用`strtok()`函数来实现字符串分割。以下是一个示例代码,将字符串按照指定的分隔符分割成数组:
```c++
void setup() {
Serial.begin(9600);
}
void loop() {
char str[] = "Hello,World,How,Are,You";
char *token;
token = strtok(str, ","); // 第一次调用strtok时需要传入要分割的字符串和分隔符
while (token != NULL) { // 如果分割完成,则返回NULL
Serial.println(token); // 输出分割后的字符串
token = strtok(NULL, ","); // 继续分割下一个字符串
}
delay(1000);
}
```
在上述示例代码中,首先定义了一个包含多个字符串的字符数组`str`,并定义了一个指向字符串的指针`token`。然后通过调用`strtok()`函数,将字符串按照逗号分隔符进行分割,并将第一个分割出来的子字符串的指针赋值给`token`。在`while`循环中,如果`token`不为`NULL`,则输出当前分割出来的字符串,并继续调用`strtok()`函数分割下一个子字符串。直到所有的子字符串都被分割完成后,`strtok()`函数返回`NULL`,循环结束。