Summary of Arduino String Appending Operators Code
This article demonstrates appending data to Arduino Strings using the += operator and the concat() method, showing identical results for various data types (strings, chars, integers, longs). It provides example code that prints successive concatenations to Serial and notes no external circuit is required beyond a USB connection to the Arduino.
Parts used in theString Append Example:
- Arduino Board
- USB cable (to connect Arduino to computer)
- Computer with Arduino IDE and Serial Monitor
Just as you can concatenate Strings with other data objects using the StringAdditionOperator, you can also use the += operator and the cconcat() 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 stringOne = “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 Arduino must be connected to your computer via USB.
image developed using Fritzing. For more circuit examples, see the Fritzing project page
Appending to Strings using the += operator and concat()Examples of how to append different data types to strings
created 27 July 2010
modified 2 Apr 2012
by Tom Igoe
http://arduino.cc/en/Tutorial/StringAppendOperator
This example code is in the public domain.
*/
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 Leonardo 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);
}
Hardware Required:
- Arduino Board
For more detail: Arduino String Appending Operators Code
- How do you append a long integer to a String using the += operator?
Use stringOne += 123456789; which results in the long integer being appended to the String. - Can concat() be used to append numeric values to a String?
Yes, for example stringTwo.concat(millis()); appends the numeric millis() value to the String. - Do += and concat() produce the same result when appending to Strings?
Yes, the article states they work the same way and the examples result in the same String. - What data types are shown being appended to Strings in the example?
Example appends include other Strings, constant strings, characters, integers, and long integers. - Is any external circuit required to run the example code?
No, there is no external circuit; the Arduino only needs to be connected to the computer via USB. - How does the example display the results of the concatenations?
It uses Serial.println to print the String after each append operation to the Serial Monitor. - What initialization is done before using the Strings in setup?
Serial.begin(9600) is called and String variables are initialized, for example stringOne = String("Sensor "); stringTwo = String("value"). - Does the example show appending a variable integer read from a sensor?
Yes, it appends the result of analogRead(A0) to a String as an example.

