Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > работа со строками Utf8


Автор: polin11 17.8.2017, 17:51
Нужно строку в кодировке Utf8 вывести в консоль по 10 символов,
в строке могут быть как буквы кириллицы, так и латиницы и знаки препинания.
А UTF-8 — многобайтовая кодировка, символ в ней
может быть представлен как одним байтом, так и четырьмя.
Сделал функцию преобразования из Utf8 в cp1251, все работает. Но возможно кто-то подскажет
другой выход без преобразования в cp1251. 
Как работать с такими строками при помощи  str.size() или str.substr(n ,m).

Автор: xvr 21.8.2017, 10:03
Цитата(polin11 @  17.8.2017,  17:51 Найти цитируемый пост)
Как работать с такими строками при помощи  str.size() или str.substr(n ,m). 

Это видимо std::string? Если да, то правильным методом будет перевести строку в std::wstring
http://www.cplusplus.com/reference/locale/wstring_convert/from_bytes/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)