У меня есть задача конвертировать все вхождения некоторого слова в одну строку в другую строку. Но есть проблема с состоянием время цикла, что делает эту ошибкуstd :: out_of_range при использовании строки find и replace in while loop
Terminate вызывается после выбрасывания экземпляр «станд :: out_of_range»
, что(): basic_string :: заменить
Это приложение попросил Runtime прекратить его необычным способом. Для получения дополнительной информации обратитесь в службу поддержки приложения. Процесс возвращается 3 (0x3) время выполнения: 2.751 сек
Мой код:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str2("three");
string str("one three two four three three");
while (str.find(str2) != NULL){
str.replace(str.find(str2),str2.length(),"five");
cout << str << endl; // i put it inside loop to see output
}
cout << str << endl;
return 0;
}
Любые предложения?
Спасибо за помощь. – DoktorD96