Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Accessing and Manipulating String Elements | Text Data Type
C++ Data Types

Свайпніть щоб показати меню

book
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.h

indexing.h

copy
12
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.cpp

main.cpp

copy
1234567
#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.cpp

main.cpp

copy
123456789101112
#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.h

at.h

copy
1
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.cpp

main.cpp

copy
12345678
#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.cpp

main.cpp

copy
123456789
#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 start coding

Your task is to check if we can add characters to the end of a string that way.

  1. Figure the index of the last character in a string.
  2. Assign 'y' to the index index of last character + 1 of str.

Рішення

solution.cpp

solution.cpp

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

Awesome!

Completion rate improved to 4.35

book
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.h

indexing.h

copy
12
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.cpp

main.cpp

copy
1234567
#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.cpp

main.cpp

copy
123456789101112
#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.h

at.h

copy
1
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.cpp

main.cpp

copy
12345678
#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.cpp

main.cpp

copy
123456789
#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 start coding

Your task is to check if we can add characters to the end of a string that way.

  1. Figure the index of the last character in a string.
  2. Assign 'y' to the index index of last character + 1 of str.

Рішення

solution.cpp

solution.cpp

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

close

Awesome!

Completion rate improved to 4.35

Свайпніть щоб показати меню

some-alt