Menu
Coddy logo textTech

Строковые функции. Часть 2

Часть раздела Основы путешествия по C++ на Coddy — урок 71 из 74.

Вот еще несколько полезных функций для строк:

  • erase(pos, len): Удаляет len символов, начиная с позиции pos, из текущей строки.
  • find(str): Возвращает позицию первого вхождения str в текущей строке. Возвращает объект, который можно сравнить с -1, если вхождение не найдено.
  • clear(): Удаляет все символы из строки, делая её пустой.
  • empty(): Возвращает true, если строка пуста, и false в противном случае.

Например, используя следующую строку:

std::string str = "Hello, World!";
int pos = str.find("World");
// Вывод: pos = 7 (позиция, с которой начинается "World")
str.erase(5, 2);
// Результат: "HelloWorld!"
str.clear();
// Вывод: "" (пустая строка)
bool isEmpty = str.empty();
// Возвращает true, если str не содержит символов
challenge icon

Задание

Легко

Создайте функцию с именем stringSearchOperations, которая принимает строку в качестве входных данных и выполняет следующие операции, используя строковые функции:

  • Находит и выводит позицию первого символа пробела в строке.
  • Удаляет 4 символа, начиная с позиции 5.
  • Проверяет, содержит ли строка слово "You", и выводит "Found" или "Not Found".
  • Очищает строку и проверяет, пуста ли она.
  • Выводит результаты после каждой операции.

Используйте следующий формат:

Space Found At: [Position of space]
After Erase: [String after erasing]
Contains You: [Found/Not Found]
Is Empty: [true/false]

Шпаргалка

Полезные строковые функции в C++:

  • erase(pos, len): Удаляет len символов, начиная с позиции pos
  • find(str): Возвращает позицию первого вхождения str (возвращает -1, если не найдено)
  • clear(): Удаляет все символы из строки
  • empty(): Возвращает true, если строка пуста, и false в противном случае
std::string str = "Hello, World!";

int pos = str.find("World");
// pos = 7 (позиция, с которой начинается "World")

str.erase(5, 2);
// Результат: "HelloWorld!"

str.clear();
// Результат: "" (пустая строка)

bool isEmpty = str.empty();
// Возвращает true, если в str нет символов

Попробуйте сами

#include <iostream>
#include <string>

void stringSearchOperations(std::string str) {
    // Найти первый пробел

    // Удалить 4 символа с позиции 5

    // Проверить, содержит ли "You"

    // Очистить строку и проверить, пуста ли она
}

int main() {
    std::string str;
    std::getline(std::cin, str);
    stringSearchOperations(str);
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы