我目前正在从事的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/

10-13 08:33