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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.