我目前正在从事的Arduino项目遇到一些困难。
我要开发的功能的目的是接受通过NRF无线模块接收的char数组变量,并将其分成2个不同的字符串变量。前13个字符变成一个字符串,其余的变成另一个。
void receiveData(char* receivedData){ // Function to place the received data into the correct variable.
for(int i = 0;i < sizeof(receivedData);i++){
if(i < 13){
String variableName = variableName + receivedData[i]; // Builds a string of the variablename.
}
else{
String value = value + receivedData[i]; // Builds a string of the value.
}
}
我通过几种不同的方式工作,但没有运气。
任何帮助将不胜感激,谢谢!
最佳答案
String variableName = variableName + receivedData[i];
在这里,您需要在循环的每次迭代中定义变量。您应该在循环之前声明变量:
String variableName;
for () {
variableName = whatever;
}
另外,
sizeof(receivedData)
仅会为您提供指针的大小,而不是您可能期望的字符串的大小。关于c++ - 遍历Char数组-拆分为单独的字符串-Arduino,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60741486/