Вывод части строки между определнными позициями символов 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 — количество символов, которое нужно скопировать в новый массив

→ Ссылка