将String对象追加到Arduino中的字符数组

时间:2016-08-18 01:53:06

标签: c++ arrays string arduino

我正在使用Arduino。我想将一个String对象追加到一个字符数组。

String msg = "ddeeff"

char charArr[1600];

//assume charArr already contains some string
//How can I do something like this to append String to charArray?
charArr = charArr + msg;

2 个答案:

答案 0 :(得分:2)

这适用于Arduino String对象。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>

<script language ="javascript">
if (document.getElementById("hideifempty").innerHTML === "") {
  document.getElementById("SampleDIV").style.display = "none";
}
</script>
</head>
<div id="SampleDIV">
  <table id="TableTest">
	<tbody>
        <tr>
        <td><b>Data:</b></td>
        <td id="hideifempty"></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td>If you can see this it didn't hide</td>
        <td></td>
      </tr>
    </tbody>
  </table>
</div>
<body>
</body>
</html>

使用String方法c_str()将字符串对象strcat( charArr, msg.c_str() ); 转换为字符数组。然后,您可以使用strcat()追加2个字符数组。

正如Rakete1111所提到的,如果msg不够大,那就是未定义的行为

答案 1 :(得分:1)

Stringoperator+const char*,它还有一个c_str()函数,可将其转换为const char*

您可以将它们组合起来以获得所需的结果:

String temp = charrArr + msg; //Store result in a String

//Copy every character
std::strncpy(charArr, temp.c_str(), sizeof(charrArr));