7.12. string
s are mutable¶
You can change the letters in an string
one at a time using the
[]
operator on the left side of an assignment.
The active code below changes the first letter in greeting
to be
'J'
.
Notice we are using the same operator ([]
) to either
get a single character from a string or to modify a
single character in the string.
- icd cream
- Remember that indexing begins at 0, not 1.
- icedcream
- Index 3 was a space and now it is "d".
- ice cream
- The character at index 3 should be changed to "d".
- iced
- The character at index 3 should be changed to "d", and the rest stays the same.
Q-2: What is printed by the following statements?
string fav_food = "ice cream";
fav_food[3] = "d";
cout << fav_food << '\n';
- message[9] = "w";
- Since "l" is at index 9, replacing it with "w" fixes the message.
- message[10] = "w";
- Remember indexing starts at 0.
- "w" = message[9];
- In order to change a letter in a string, the ``[]`` operator must be on the left of the assignment.
- message[8] = "w";
- Remember indexing starts at 0.
Q-3: How can we fix the message to be “You’re a wizard Harry”?
string message = "You're a lizard Harry";
Put together the code below to creater a function <code>mixer<code> that takes in two strings and replaces every even index of the first string by the corresponding index of the second. It returns the modified first string. Example: <code>string_a = “food”<code> and <code>string_b = “summer”<code> . <code> mixer(string_a ,string_b )<code> makes <code>string_a<code> become “somd”.
Assume second string is greater than first.