@StownCraft

Как сделать и вывести срез строки(String) C/C++?

Пишу программу, которая считывает текст и выводит построчно предложения.
Как сделать срез из text с NumberArrayString-го по i-й элемент ?
int NumberArrayString = 0;
	int NumberString = 0;
	std::string text = {};
	getline(std::cin, text);
	printf("%d", text.size());
	for (int i = 0; i < (text.size()); i++)
	{
		if ((text[i] == '.') || (text[i] == '!') || (text[i] == '?'))
		{
			NumberString++;
			std::cout << NumberString << "-я строка: " << ???????????????????? << std::endl;
			NumberArrayString = i;
                }
	}
  • Вопрос задан
  • 30359 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
1.
std::cout << text.substr(начало, длина) << std::endl;

Поскольку перед нами учебный текст, дальше не буду подсказывать. Методом тыка выясни, что будет началом и что длиной.

2. Ничего, что, если строка не оканчивается точкой, последнее «недопредложение» выведено не будет? Может быть, так и верно, но если задача — разделить текст по tab’ам или запятым, надо после цикла выкинуть то, что осталось.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы