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

Создание и инициализация строк

Для работы со строками в C++ используется стандартный класс std::string, который предоставляет множество методов для работы с текстом. Начнем с создания и инициализации строк:

#include <iostream>
  #include <string>
  
  int main() {
      std::string str1 = "Hello, World!";
      std::string str2("Welcome to C++!");
      std::string str3;
      str3 = "This is a string.";
      
      std::cout << str1 << std::endl;
      std::cout << str2 << std::endl;
      std::cout << str3 << std::endl;
      
      return 0;
  }
  

В этом примере мы создали три строки разными способами и вывели их на экран. Результат выполнения программы будет следующим:

Hello, World!
  Welcome to C++!
  This is a string.
  

Конкатенация строк

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

#include <iostream>
#include <string>

int main() {
  std::string firstName = "John";
  std::string lastName = "Doe";
  std::string fullName = firstName + " " + lastName;
  
  std::cout << "Full Name: " << fullName << std::endl;
  
  return 0;
}
  

Результат выполнения этой программы будет следующим:

Full Name: John Doe
  

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

Для доступа к отдельным символам строки можно использовать оператор [] или метод at():

#include <iostream>
#include <string>

int main() {
  std::string str = "Hello";
  
  std::cout << "First character: " << str[0] << std::endl;
  std::cout << "Last character: " << str.at(str.size() - 1) << std::endl;
  
  return 0;
}
  

Результат выполнения этой программы:

First character: H
  Last character: o
  

Размер строки и проверка на пустоту

Для получения длины строки используется метод size() или length(). Чтобы проверить, пуста ли строка, применяется метод empty():

#include <iostream>
#include <string>

int main() {
  std::string str = "Hello, World!";
  
  std::cout << "Length of string: " << str.size() << std::endl;
  std::cout << "Is string empty? " << std::boolalpha << str.empty() << std::endl;
  
  return 0;
}
  

Результат выполнения:

Length of string: 13
  Is string empty? false
  

Изменение строки

В C++ строки можно изменять после их создания. Рассмотрим примеры добавления и удаления символов:

#include <iostream>
  #include <string>
  
  int main() {
      std::string str = "Hello";
      
      str += ", World!";
      std::cout << str << std::endl;
      
      str.erase(5, 7);
      std::cout << str << std::endl;
      
      str.insert(5, ", C++");
      std::cout << str << std::endl;
      
      return 0;
  }
  

Результат выполнения программы:

Hello, World!
  Hello!
  Hello, C++!
  

Задание для самостоятельной работы

Методов у строк много, поэтому для самостоятельной работы можно использовать std::string .

Напишите программу, которая запрашивает у пользователя строку, а затем выполняет следующие операции:

  1. Выводит строку в верхнем регистре.
  2. Выводит строку в нижнем регистре.
  3. Выводит первую и последнюю буквы строки.
  4. Проверяет, является ли строка палиндромом.

Пример работы программы:

Введите строку: Hello, World!
  Строка в верхнем регистре: HELLO, WORLD!
  Строка в нижнем регистре: hello, world!
  Первая буква: H
  Последняя буква: !
  Строка не является палиндромом
  
Введите строку: madam
  Строка в верхнем регистре: MADAM
  Строка в нижнем регистре: madam
  Первая буква: m
  Последняя буква: m
  Строка является палиндромом
  

Заключение

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

Перейти к следующему уроку →