You can append one string to another by using the overloaded +=
operator or by using an append()
method. All throw a length_error
exception if the result would be longer than the maximum string size. The +=
operators let you append a string
object, a string array, or an individual character to another string:
basic_string& operator+=(const basic_string& str);
basic_string& operator+=(const charT* s);
basic_string& operator+=(charT c);
The append()
methods also let you append a string
object, a string array, or an individual character to another string. In addition, they let you append part of a string
object by specifying an initial position and a number of characters to append or else by specifying a range. You can append part of a string by specifying how many characters of the string to use. The version for appending a character lets you specify how many instances of that character to copy. Here are the prototypes for the various append()
methods:
basic_string& append(const basic_string& str);
basic_string& append(const basic_string& str, size_type pos,
size_type n);
template<class InputIterator>
basic_string& append(InputIterator first, InputIterator last);
basic_string& append(const charT* s);
basic_string& append(const charT* s, size_type n);
basic_string& append(size_type n, charT c); // append n copies of c
void push_back(charT c); // appends 1 copy of c
string test("The");
test.append("ory"); // test is "Theory"
test.append(3,'!'), // test is "Theory!!!"
The operator+()
function is overloaded to enable string concatenation. The overloaded functions don’t modify a string; instead, they create a new string that consists of one string appended to a second. The addition functions are not member functions, and they allow you to add a string
object to a string
object, a string array to a string
object, a string
object to a string array, a character to a string
object, and a string
object to a character. Here are some examples:
string st1("red");
string st2("rain");
string st3 = st1 + "uce"; // st3 is "reduce"
string st4 = 't' + st2; // st4 is "train"
string st5 = st1 + st2; // st5 is "redrain"
18.188.154.252