Вывод части строки между определнными позициями символов c++
Есть строка, в ней, к прмеру, 100 символов, но необходимо вывести только часть строки между 30 и 70 символом, как такое сделать на c++?
Ответы (2 шт):
Автор решения: arnold
→ Ссылка
Не делал банальных проверок на ввод некорректных чисел, с этим вы уже сами справитесь.
#include <iostream>
using namespace std;
int main()
{
char str[256] = "Output part of a string between certain character positions c++";
int first = 0;
int last = 0;
cin >> first >> last;
for (int i = first; i < last; i++) {
cout << str[i];
}
}
Автор решения: NekitKuzmenko
→ Ссылка
Если не использовать библиотки по типу string и тд, можно перезаписать ваш массив символов в новый массив, где будет уже необходимый диапозон символов. Вот пример цикла:
char str1[19] = "It is first string";
char str2[6];
int startsym = 6;
int symcount = 5;
for(int i = 0; i < symcount; i++) {
str2[i] = str1[startsym+i];
}
После цикла char массив str2 будет равен "first". startsym — индекс символа в первой строке, с которой нужно начать копирование. symcount — количество символов, которое нужно скопировать в новый массив