LINUX.ORG.RU
Ответ на: комментарий от ShprotX
Таких костылей при желании можно напридумывать тысячами.

Нашел g_utf8_strlen() -- вроде работает. Всем спасибо, вопрос снят.

anonymous
()
Ответ на: комментарий от anonymous
> Таких костылей при желании можно напридумывать тысячами

Какой вопрос - такой ответ.

ShprotX
()
Ответ на: комментарий от Amp
> Сейчас моден транслит?

Сейчас в моде тупые вопросы.

ShprotX
()
Ответ на: комментарий от ShprotX
g_utf8_strlen - Returns the length of the string in characters.

Если строка UTF-8, то strlen, оперируя "байт=символ", выдаст несколько иной результат. Конечно, если используется только латиница и цифры, то результат будет одинаковый.

Deleted
()
Ответ на: комментарий от Deleted
сам по себе тип gchar вроде бы не оперирует "байт=символ". поэтому и использовать strlen даже, если уверен, что там латиница и цифры, потенциально опасно.
xydo ★★
()
Ответ на: комментарий от xydo
> сам по себе тип gchar вроде бы не оперирует "байт=символ". поэтому...

Сам по себе gchar - это вообще-то один байт, а как этот байт использовать - зависит от программиста.

ShprotX
()
Ответ на: комментарий от anonymous
g_utf8_strlen() по-моему интересна для определения, сколько необходимо позиций для символов в виджете для вывода текста. А вот без обычной strlen() не обойтись для определения размера буффера для сохранения/копирования строки. Т.е. функции в общем случае не взаимозаменяемы. Только при уже выше обсужденном использовании исключительно 7(8?)-битных кодировок.

Андрей

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.