我在arduino中有一个字符串
String name="apple orange banana";
是否可以将每个项目存储在数组arr
这样
arr[0]="apple"
arr[1]="orange" ......etc
如果不将它们存储在个别变量中?
答案 0 :(得分:0)
How to split a string using a specific delimiter in Arduino?我相信这会为您提供帮助,您可以像这样进行一会儿循环:
int x;
String words[3];
while(getValue(name, ' ', x) != NULL){
words[x] = getValue(name, ' ', x);
}
使用此功能:
// https://stackoverflow.com/questions/9072320/split-string-into-string-array
String getValue(String data, char separator, int index)
{
int found = 0;
int strIndex[] = {0, -1};
int maxIndex = data.length()-1;
for(int i=0; i<=maxIndex && found<=index; i++){
if(data.charAt(i)==separator || i==maxIndex){
found++;
strIndex[0] = strIndex[1]+1;
strIndex[1] = (i == maxIndex) ? i+1 : i;
}
}
return found>index ? data.substring(strIndex[0], strIndex[1]) : "";
}
答案 1 :(得分:-1)
如果您知道列表长度和每个列表项的最大字符数,则可以
char arr[3][6] = {"apple", "orange", banana"};
编辑:如果您正在寻找类似String arr[3]
的内容,那么由于C语言管理内存的原因,您无法获得它