2016-08-18 11 views

答えて

2

これは、ArduinoのStringオブジェクトのために動作します。

strcat(charArr, msg.c_str()); 

Stringオブジェクトmsg)は、(文字列方法c_strと文字の配列に変換されます。次に、strcat()を使って2つの文字の配列を追加することができます。

Rakete1111で述べたようにcharArr今すぐCHARARRが終端の「\ 0」が含まれないことがあり、十分な

+1

しかし、 'charArr'が十分に大きくなければ、未定義の動作です。 – Rakete1111

+0

char charArr [1600];他の地域の変数要件などに応じて、 "標準" Arduino UNOには大きすぎるかもしれません。その方向にも注意してください。行動も未定義です。 ;) – datafiddler

1

Stringconst char*かかりoperator+を有し、そしてそれはまたconst char*に変換c_str()機能を有しています。

あなたは望ましい結果を得るためにそれらを組み合わせることができます。

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

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

大きくない場合、それは未定義の動作です。 –

関連する問題