Я нашел пару ответов о том, как проверить, является ли строка полным словом, но ничего, как проверить, является ли строка первой частью слова.
Например, мне нужна функция, которая будет возвращать true для «c», «b», «cong» (поздравления, конгруэнтные и т. Д.) Или «exa» (пример, проверять и т. Д.), Но false для «congx». «,» Qt «, или другой бред.
Я полагаю, что есть несколько способов сделать это. Если бы вы могли дать приблизительный план стратегии, я был бы очень признателен.
Я пытаюсь сделать Boggle решатель.
Спасибо!
Является std::string part
содержащиеся в std::string word
?
if(word.find(part) != std::string::npos)
{
// part is in word somethere
}
Является std::string part
на начало из std::string word
?
if(word.find(part) == 0)
{
// word starts with part
}
В порядке объяснения, станд :: строка :: найти () возвращает позиция из того, что было найдено. Так 0
означает, что это было найдено в начале. Значение станд :: строка :: НСС это специальное значение, которое указывает, что ничего не было найдено вообще.