Course Content
C++ Data Types
C++ Data Types
Accessing and Manipulating String Elements
Indexing a string
We can access the elements of a string
(which are essentially char
characters) using square bracket []
indexing, similar to arrays. This also allows us to replace a character at a specific position.
indexing
string str = "Cpdefinity"; // Cpdefinity str[1] = 'o'; // Codefinity
Note
Indexing in a
string
starts from zero, just like in arrays.
The length of the string
With that indexing, you can try to access a wrong index (that is out of range), and the compiler will tell you nothing about that.
main
#include <iostream> int main() { std::string word = "Codefinity"; std::cout << word[12]; // Word's length is 10 }
As you can see, the output is unexpected, and C++ does not provide a warning about the issue. To prevent this, you can use the .length()
method to determine the length of a string
and ensure the index is within the valid range.
main
#include <iostream> int main() { std::string word = "Codefinity"; int index = 12; if (index >= word.length()) std::cout << "The output is unexpected!" << std::endl; else std::cout << word[index]; // Word's length is 10 }
Indexing using method
Another way of indexing is using the .at()
method. To get the character with index n
, we can use the following syntax:
at
str.at(n);
It works the same as str[n]
but will raise an error if you specify an index that is out of range.
main
#include <iostream> int main() { std::string word = "Codefinity"; std::cout << word.at(12); // word's length is 10 // Try outputting the character with the index 5 }
Practice
As was said before, we can replace the characters inside a string using indexing (both with []
and .at()
). Here is an example:
main
#include <iostream> int main() { std::string word = "Cpdefinitu"; word[1] = 'o'; word.at(word.length() - 1) = 'y'; // length - 1 accesses the last element std::cout << word; }
Swipe to show code editor
Your task is to check if we can add characters to the end of a string that way.
- Figure the index of the last character in a string.
- Assign
'y'
to the index index of last character + 1 ofstr
.
Thanks for your feedback!
Accessing and Manipulating String Elements
Indexing a string
We can access the elements of a string
(which are essentially char
characters) using square bracket []
indexing, similar to arrays. This also allows us to replace a character at a specific position.
indexing
string str = "Cpdefinity"; // Cpdefinity str[1] = 'o'; // Codefinity
Note
Indexing in a
string
starts from zero, just like in arrays.
The length of the string
With that indexing, you can try to access a wrong index (that is out of range), and the compiler will tell you nothing about that.
main
#include <iostream> int main() { std::string word = "Codefinity"; std::cout << word[12]; // Word's length is 10 }
As you can see, the output is unexpected, and C++ does not provide a warning about the issue. To prevent this, you can use the .length()
method to determine the length of a string
and ensure the index is within the valid range.
main
#include <iostream> int main() { std::string word = "Codefinity"; int index = 12; if (index >= word.length()) std::cout << "The output is unexpected!" << std::endl; else std::cout << word[index]; // Word's length is 10 }
Indexing using method
Another way of indexing is using the .at()
method. To get the character with index n
, we can use the following syntax:
at
str.at(n);
It works the same as str[n]
but will raise an error if you specify an index that is out of range.
main
#include <iostream> int main() { std::string word = "Codefinity"; std::cout << word.at(12); // word's length is 10 // Try outputting the character with the index 5 }
Practice
As was said before, we can replace the characters inside a string using indexing (both with []
and .at()
). Here is an example:
main
#include <iostream> int main() { std::string word = "Cpdefinitu"; word[1] = 'o'; word.at(word.length() - 1) = 'y'; // length - 1 accesses the last element std::cout << word; }
Swipe to show code editor
Your task is to check if we can add characters to the end of a string that way.
- Figure the index of the last character in a string.
- Assign
'y'
to the index index of last character + 1 ofstr
.
Thanks for your feedback!