Arduino の文字列を連結する
このチュートリアルでは、concat()
関数または Arduino の append 演算子を使用して 2つの文字列を連結する方法について説明します。
Arduino の concat()
関数を使用して文字列を連結する
concat()
関数を使用して、Arduino で 2つの文字列を連結できます。concat()
関数は、指定されたパラメーターに文字列を追加します。
連結操作が成功した場合は true
を返し、失敗した場合は false
を返します。
concat()
関数の基本的な構文を以下に示します。
MyString.concat(MyParameter);
上記の構文では、MyString
変数は文字列が格納されている文字列オブジェクトであり、MyParameter
変数には文字列に追加するパラメーターが含まれています。パラメータは、データタイプ long、int、double、float、char、byte、および string にすることができます。
MyString
変数内に格納されている文字列は、指定されたパラメーターが付加されるため、concat()
関数の実行後に変更され、結果は MyString
変数内に保存されることに注意してください。
元の文字列を変更したくないとします。その場合、最初の変数と同じ文字列を含む別の文字列変数を作成し、concat()
関数内で 2 番目の文字列変数を使用します。
たとえば、2つの文字列変数を作成し、concat()
関数を使用してそれらを連結してみましょう。以下のコードを参照してください。
void setup() {
String s1 = "hello";
String s2 = " World";
s1.concat(s2);
Serial.begin(9600);
Serial.println(s1);
}
void loop() {}
出力:
hello World
上記のコードでは、Arduino のシリアルモニターを使用して連結の結果を表示しました。2 番目の文字列変数でスペースを使用しました。これは、出力の 2つの文字列の間に表示されます。
条件ステートメント内で concat()
関数の出力を使用して、連結操作が成功したか失敗したかを確認することもできます。
たとえば、if
ステートメントを使用して、concat()
関数の出力を確認できます。出力が true の場合、操作が成功したことを示すメッセージを出力します。出力が false の場合、操作が成功しなかったことを出力します。
たとえば、2つの文字列を連結して、concat()
関数の出力に応じて成功または失敗のメッセージを表示しましょう。以下のコードを参照してください。
void setup() {
String s1 = "hello";
String s2 = " World";
bool b = s1.concat(s2);
Serial.begin(9600);
Serial.println(s1);
if (b) {
Serial.println("operation has been successful");
} else {
Serial.println("operation is not successful");
}
}
void loop() {}
出力:
hello World
operation has been successful
上記のコードでは、ブール値の b
変数を使用して concat()
関数の出力を格納し、if
ステートメントを使用してブール値をチェックしました。出力が true の場合、成功したメッセージがシリアルモニターに出力され、出力が false の場合、他のメッセージがシリアルモニターに出力されます。
上記の出力では、連結が成功していることがわかります。concat()
関数の詳細については、このリンクを確認してください。
Arduino で追加演算子+
を使用して文字列を連結する
追加演算子+
を使用して、他のデータタイプの文字列または変数を連結することもできます。許可されるデータタイプは、concat()
関数と同じです。また、append 演算子を複数回使用して、他のデータタイプの複数の文字列または変数を 1 行に連結することもできます。
append 演算子を使用した連結の基本的な構文を以下に示します。
MyString = Parameter1 + parameter2 + ... + parameterN;
上記の構文では、MyString
変数は出力を格納するために使用される文字列オブジェクトであり、パラメーターには、他のパラメーターとともに追加する値が含まれています。パラメータには、long、int、double、float、char、byte、および string のデータタイプを指定できます。
たとえば、2つの文字列変数と 1つの整数変数を作成し、append 演算子を使用してそれらを連結してみましょう。以下のコードを参照してください。
void setup() {
String s1 = "hello";
String s2 = " World";
int n = 10;
String s3 = s1 + " ,,," + s2 + " " + n;
Serial.begin(9600);
Serial.println(s3);
}
void loop() {}
出力:
hello ,,, World 10
上記のコードでは、連結の結果を格納するための文字列オブジェクトを作成しました。また、3つのコンマとスペースの文字列などの他の文字列も使用しました。他のデータタイプの場合、追加演算子はデータタイプを文字列データタイプに変換してから、他の文字列オブジェクトを追加します。
1 行に複数の文字列を追加することの欠点は、メモリも大量に消費することと、Arduino のメモリが大幅に少なくなることです。追加演算子の詳細については、このリンクを確認してください。