String Appending Operators
Just as you can concatenate Strings with other data objects using the StringAdditionOperator, you can also use the +=
operator and the concat()
method to append things to Strings. The +=
operator and the concat()
method work the same way, it's just a matter of which style you prefer. The two examples below illustrate both, and result in the same String:
String stringOne = "A long integer: ";
// using += to add a long variable to a string:
stringOne += 123456789;
or
String stringTwo = "A long integer: ";
// using concat() to add a long variable to a string:
stringTwo.concat(123456789);
In both cases, stringOne
equals "A long integer: 123456789". Like the +
operator, these operators are handy for assembling longer strings from a combination of data objects.
Circuit
There is no circuit for this example, though your board must be connected to your computer via USB and the serial monitor window of the Arduino Software (IDE) should be open.
image developed using Fritzing. For more circuit examples, see the Fritzing project page
Code
/*
Appending to Strings using the += operator and concat()
Examples of how to append different data types to Strings
created 27 Jul 2010
modified 2 Apr 2012
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/StringAppendOperator
*/
String stringOne, stringTwo;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
stringOne = String("Sensor ");
stringTwo = String("value");
// send an intro:
Serial.println("\n\nAppending to a String:");
Serial.println();
}
void loop() {
Serial.println(stringOne); // prints "Sensor "
// adding a string to a String:
stringOne += stringTwo;
Serial.println(stringOne); // prints "Sensor value"
// adding a constant string to a String:
stringOne += " for input ";
Serial.println(stringOne); // prints "Sensor value for input"
// adding a constant character to a String:
stringOne += 'A';
Serial.println(stringOne); // prints "Sensor value for input A"
// adding a constant integer to a String:
stringOne += 0;
Serial.println(stringOne); // prints "Sensor value for input A0"
// adding a constant string to a String:
stringOne += ": ";
Serial.println(stringOne); // prints "Sensor value for input"
// adding a variable integer to a String:
stringOne += analogRead(A0);
Serial.println(stringOne); // prints "Sensor value for input A0: 456" or whatever analogRead(A0) is
Serial.println("\n\nchanging the Strings' values");
stringOne = "A long integer: ";
stringTwo = "The millis(): ";
// adding a constant long integer to a String:
stringOne += 123456789;
Serial.println(stringOne); // prints "A long integer: 123456789"
// using concat() to add a long variable to a String:
stringTwo.concat(millis());
Serial.println(stringTwo); // prints "The millis(): 43534" or whatever the value of the millis() is
// do nothing while true:
while (true);
}
See Also
Last revision 2015/08/11 by SM