Сравнение равенства на выходе итератора wstring не работает

У меня есть вектор, содержащий wstrings. Я хочу видеть, имеет ли одна из строк такое же содержимое, как строка в переменной:

std::wstring m_MyString;

void CheckExists() {
std::vector< std::wstring > list = ...
for (std::vector< std::wstring >::iterator it = list.begin(); it != list.end(); ++it) {
if (*it == m_MyString) {
...
break;
}
}
}

Тем не менее *it == m_MyString не похоже на равенство строк — это не входит в if когда есть соответствующая строка в векторе. Я думаю, что это делает равенство указатель / адрес. Как мне заставить это сделать базовое равенство строк?

0

Решение

Оказывается, проблема была в том, что строка в переменной была завершена нулем, а строки в векторе — нет. Таким образом, они выглядели одинаково, но на самом деле не были одинаковыми.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector