Как проверить длину новой строки при использовании u_fgets в ICU4C ustdio.h?
В ICU4C,
UChar * u_fgets(UChar *s, int32_t n, UFILE *f)
прочитает одну строчку из f
в буфер s
, размер которого n
.
Но как я могу узнать длину этой строки?
Что будет если n
не хватает для этого одной строчки?
1 ответ
Но как я могу узнать длину этой строки?
Если u_fgets()
работает аналогично стандартному fgets()
после последнего прочитанного символа будет помещен '\0'. Затем вы можете узнать длину, позвонивstrlen()
или эквивалентную версию для вашей системы.
Что будет, если n будет недостаточно для этой одной строки?
Если u_fgets()
работает аналогично стандартному fgets()
он перестанет заполнять символы в буфер s
чтобы '\0' попал в последнюю ячейку. Это будетn
й персонаж в s[n - 1]
. Не сохраненные символы останутся во входном потокеf
.
Однако, пожалуйста, прочтите документацию! Это всегда ваша первая остановка.