Некоректный вывод индекса функцией find()
Не понимаю, почему такое странное поведение у функции find().
В результате из примера ниже, в консоли печатается не 5, а 10. Почему так происходит?
string b = "Издательский бизнес сегодня немыслим без компьютерных издательских систем,";
auto a = b.find("е");
cout << a << endl;
Ответы (1 шт):
Автор решения: user393524
→ Ссылка
В вашей реализации строка, состоящая из русской буквы, скорее всего, занимает 2 char, поэтому позиции умножаются на 2. Простое деление на 2 непереносимо, но может работать в вашем случае.