@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;
                }
	}
  • Вопрос задан
  • 26846 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
1.
std::cout << text.substr(начало, длина) << std::endl;

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

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

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

Войти через центр авторизации
Похожие вопросы