|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
std::string S.size()08.09.2013, 23:22. Показов 2470. Ответов 10
Метки нет (Все метки)
Почему?
Не по теме:
0
|
||||||
| 08.09.2013, 23:22 | |
|
Ответы с готовыми решениями:
10
Не освобождается память std::string после использования std::bind Свой аналог std::string Std::string портит память |
|
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
|
|
| 08.09.2013, 23:39 | |
|
UTF-8 кодировка символов компилятором.
25 русских букв в UTF8 это будет 50 байт + 2 байта пробельных символа = 52. Все честно!
2
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 09.09.2013, 01:23 [ТС] | ||||||
|
Это другой вопрос, но он не стоит того, чтоб целую тему создавать.
0
|
||||||
|
...
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
|
||||||
| 09.09.2013, 11:59 | ||||||
|
Для таких целей необходимо использовать wstring
2
|
||||||
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
||||||
| 09.09.2013, 18:16 | ||||||
|
16-битные символы, как рекомендует anmartex, пожалуй, лучшее решение.
Или, если уж хотите остаться на utf-8
0
|
||||||
|
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
|
|
| 10.09.2013, 14:53 | |
Сообщение было отмечено как решение
Решение
Слово "индекс" я бы назвал опасным в контексте данного топика.
Это для русских букв в юникоде повезло. Кодирование в utf-8 будет давать по два байта. Но в общем случае - это не так (есть символы по 3 байта и по 4 байта). Если уж работаем с локалью, то как взрослые!! собственно как и указал anmartex. А работая с индексами, неизбежно упираешь в кодирование utf-8 (если оно конечно такое в системе). Спрашивается нафига это делать самому, если система дает цивилизованные средства для работы с локалью.
3
|
|
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
||
| 10.09.2013, 22:27 | ||
|
Кто бы спорил. Программа, работающая с любой локалью, предпочтительнее.
Но, думаю, есть задачи, где все же имеет смысл побайтно разбитать утф-8.
Далеко не всегда строка задается в виде константы или читается с cin (wcin).
0
|
||
| 10.09.2013, 23:28 [ТС] | |
|
0
|
|
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
||||||
| 11.09.2013, 07:14 | ||||||
|
daslex
Согласен, в данном контексте речь идет о подсчете символом, и мое выражение "подсчет индексов" не совсем корректно. Но ваш пример
0
|
||||||
|
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
|
||||||
| 11.09.2013, 16:30 | ||||||
|
Что то мы флейм развели на пустом месте...
Отвечу в продолжении, хотя особого смысла дальше спорить не вижу, собственно и спорить-то не о чем и так все понятно. Получить длину строки в !!!символах!!!
Кстати достойный ресурс: www.cplusplus.com Когда мне чего-нибудь надо из STL, я обращаюсь именно туда.
0
|
||||||
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
||
| 11.09.2013, 17:52 | ||
|
anmartex работу с 16-битными строками уже продемонстрировал.
Но я спрашивал о другом, а именно, как по взрослому цивилизованными средствами посчитать количесво символов в строке UTF-8. И дальше
STL и любые другие стандартные библиотеки трудно назвать сторонними. Но достаточно ли их? PS. www.cplusplus.com - действительно достойный ресурс. Добавлено через 27 минут В догонку. Прошу прощения за настырность. Просто в свое время (пару лет назад) я не нашел в рамках stdc++ (STL) способа превода string в wstring. Конструкторы wsrting и потоки wstringstream обламывались, когда встречали многобайтные символы. Вот и заинтеросовался :-). Добавлено через 1 минуту В догонку. Прошу прощения за настырность. Просто в свое время (пару лет назад) я не нашел в рамках stdc++ (STL) способа превода string в wstring. Конструкторы wsrting и потоки wstringstream обламывались, когда встречали многобайтные символы. Вот и заинтеросовался :-).
0
|
||
| 11.09.2013, 17:52 | |
|
Помогаю со студенческими работами здесь
11
free(): invalid next size (fast)
std::string, std::fstream, ошибка кучи Файловый поток и std::string Немного про std::string Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|