Найти тему

C++: Строки - работа с текстовыми данными

В предыдущих статьях мы познакомились с основами C++: переменными, типами данных, операторами, выражениями, условными операторами, циклами и массивами. Сегодня мы перейдем к строкам, которые позволяют нам работать с текстовыми данными.

Что такое строки?

Строка - это последовательность символов, заключенная в двойные кавычки. В C++ строки представляют собой массивы символов, завершающиеся нулевым символом `\0`.

Объявление строк:

Чтобы объявить строку, используйте тип `char*` или `std::string`. 

Пример:

#include <iostream>

int main() {

 char greeting[] = "Hello, world!"; // строка, объявленная как массив символов

 std::string message = "Welcome to C++!"; // строка, объявленная как объект класса std::string

 return 0;

}

Доступ к символам строки:

Чтобы получить доступ к определенному символу в строке, используйте индекс в квадратных скобках. Индексы начинаются с 0.

Пример:

#include <iostream>

int main() {

 char greeting[] = "Hello, world!";

 std::cout << greeting[0] << std::endl; // вывод: H

 std::cout << greeting[6] << std::endl; // вывод: ,

 return 0;

}

Изменение символов строки:

Чтобы изменить символ в строке, присвойте ему новое значение с помощью индекса:

Пример:

#include <iostream>

int main() {

 char greeting[] = "Hello, world!";

 greeting[0] = 'h'; 

 std::cout << greeting << std::endl; // вывод: hello, world!

 return 0;

}

Работа со строками:

C++ предоставляет множество функций для работы со строками, таких как:

* `strlen()`: определяет длину строки.

* `strcpy()`: копирует один массив символов в другой.

* `strcat()`: склеивает две строки.

* `strcmp()`: сравнивает две строки.

Пример:

#include <iostream>

#include <cstring> // для использования функций работы со строками

int main() {

 char greeting[] = "Hello, ";

 char name[] = "World!";

 char message[50]; // буфер для новой строки

 strcpy(message, greeting); // копируем greeting в message

 strcat(message, name); // склеиваем message и name

 std::cout << message << std::endl; // вывод: Hello, World!

 return 0;

}

Важно:

* Класс `std::string` предоставляет более простые и безопасные методы работы со строками.

* Не забывайте о нулевом символе `\0` в конце строки, которая объявлена как массив символов.

* Старайтесь использовать функции работы со строками из стандартной библиотеки C++.

В следующих статьях мы рассмотрим функции и процедуры в C++. Следите за новыми публикациями на канале!