Когда вы используете заданное ключевое слово c, необходимо распечатать все слова, содержащие это ключевое слово. Вы не должны использовать массивы для решения проблем.
Я использовал функцию find()
, чтобы получить код, который печатается из начального индекса ключевого слова, пока не появится ','
, но есть ошибка .
Вот код:
#include <iostream>
#include <string>
#include <limits.h>
using namespace std;
int main() {
string data = "사랑,프로그래머,의자,사랑의바보,영통역,천년의사랑,냉장고,객체지향";
string keyword;
cout << "키워드 : ";
cin >> keyword;
int i = 0;
while (1) {
i = data.find(keyword, i);
if (i == INT_MAX) return 0;
while (data[i] != ',') {
cout << data[i] << " ";
i++;
}
}
}
Даже если он успешно компилируется, если ключевое слово после слова, оно не может быть напечатано.
В общем, мои вопросы:
Проблемы в приведенном выше коде при условии, что ключевое слово находится перед словом.
Идея напечатать слово, даже если ключевое слово находится за ним.