Вводится текст с клавиатуры, в тексте открываются скобки, внутри которых содержится другой текст. Нужно вывести этот другой текст через cout. Текст может быть в скобках не весь, но вывести нужно только то, что в скобках. Какие функции помогут с этим?
Простейшим решением будет найти первую (открывающую) и последнюю (закрывающую) скобки в тексте и вывести все символы между ними:
#include <iostream>
#include <string>
int main()
{
/* Создаем переменную типа std::string, в которой будет храниться весь
наш введенный текст: */
std::string text;
/* Считываем строку из стандартного потока ввода (из консоли) в нашу
переменную text: */
std::getline(std::cin, text);
/* Находим индексы первой и последней скобки в строке (предполагается,
что в строке точно есть обе скобки): */
const auto firstBracketIndex = text.find('(');
const auto lastBracketIndex = text.rfind(')');
/* Выводим все символы строки, внутри этих двух скобок: */
for (size_t i = firstBracketIndex + 1; i < lastBracketIndex; i++)
std::cout << text[i];
}
Пример работы:
$ .\program.exe
first (second) third
second
Продвижение своими сайтами как стратегия роста и независимости