Задать вопрос

С++ как посчитать символы в строке?

C++ Есть переменная типа String, в ней содержатся буквы русского и английского алфавита, пробелы и знаки препинания.
Нужно посчитать количество символов в этой строке вместе с пробелами и знаками.
Проблема в том что при использовании length() или size() результат почему то не точный. Показывает правильное количество символов для английских букв и умноженное на 2 для кириллицы.
Как можно решить эту проблему?
Спасибо!
  • Вопрос задан
  • 5829 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
1kachan
@1kachan
сохранить код в кодировку windows-1251, скомпилить, запустить
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
wstring_convert< codecvt_utf8<char32_t>, char32_t >().from_bytes(the_std_string).size()
Ответ написан
Комментировать
ну, вероятно, строка использует какой-нибудь utf-x, посмотрите какой у вас, после этого посчитать знаки довольно просто.

UPDATE: если utf, то не какой-то конечно, а utf-8.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы