Я пытаюсь отобразить точное слово после другого слова, которое имеет 8 символов. К сожалению, там отображается ошибка, связанная с индексом строки вне диапазона. Я знаю, что проблема связана с циклом, но я не знаю, как его решить. Почему «линия [J]! =„(“» Dosen't работа?строка индекс вне диапазона
getline(myFile, line);
size_t pos = line.find(arrayTypeOne[i]); //finding position
if (pos != string::npos)
{
for (int j = pos + 9; line[j] != '('; j++)
cout << line[j];
}//if
я решил. Проблема была в другом месте. Мне очень жаль, я думаю, дважды в следующий раз. Спасибо за помощь
Вы понимаете, что нет ничего, ограничивающего переменную 'j' от прохождения конца строки. –
Используя ручку и бумагу, возьмите случай с 10-символьной строкой и переменная 'pos' будет установлена в 0. Кроме того, строка не имеет '(' в ней. –
Я делаю, но знак" («находится в строке (моя строка) в 21 позиции, а затем он должен разорвать цикл – mathsicist