Здравствуйте, hsc, Вы писали:
hsc>С++, Windows, VS2012. Есть пары строк, например "Amélie" и "Amelie", "Ёлка" и "Елка" и т. п. Строки приходят из двух разных источников. Надо сравнивать строки считая что é=e, Ё=Е и т.д.
hsc>Нужна функция
hsc>hsc> bool my_compare(const std::wstring& s1, const std::wstring& s2);
hsc>
hsc>которая вернёт
hsc>для пар "Amélie" и "Amelie", "Ёлка" и "Елка" — true
hsc>для пар "Amolie" и "Amelie", "Oлка" и "Елка" — false
hsc>Возможно заказчик составит список какие именно символы считать эквивалентами, но вдруг есть какое-то универсальное решение?
Я думаю стоит покапать в сторону нормализация юникода и связанных с этим,
например можно преобразовать "Amélie" в "Ame'lie", а потом пройтись циклом
и удалить эти добавочные символы.