【发布时间】:2017-03-10 07:55:50
【问题描述】:
我正在为连接了一些硬件的 Arduino 板编写一些 C++ 代码。在代码的各个地方,我需要构造一个带有各种附加硬件值的字符串,并将其作为命令的一部分通过串行发送。由于它需要成为通过串行发送的非常特定命令的一部分,因此我首先构建它并在整个命令准备好时发送它。
目前我正在通过以下函数进行操作
'String constructDataString ()
{
// Set up data to transmit
String dataStr = String(var1);
dataStr += ",";
dataStr += String(var2);
dataStr += ",";
dataStr += String(var3);
dataStr += ",";
dataStr += String(var4);
dataStr += ",";
dataStr += String(var5);
return dataStr;
}'
然后我调用它
String dataString = constructDataString ();
我想知道是否可以通过在 main 中声明一个字符串然后通过引用将其传递给函数并允许函数直接修改它来做到这一点。我已经尝试了几种方法,但我无法让它工作。我尝试了类似下面的方法,但不太熟悉这样做,所以我希望有人能提供帮助。
原型
void constructDataString (String* extString)
从主调用
String dataString =””;
String* dataStringPtr = & dataString;
constructDataString (dataStringPtr);
功能
void constructDataString (String* extString)
{
// Set up data to transmit
extString = String(var1);
extString += ",";
extString += String(var2);
extString += ",";
extString += String(var3);
extString += ",";
extString += String(var4);
extString += ",";
extString += String(var5);
}
【问题讨论】:
标签: c++ string arduino pass-by-reference