Как проверить длину новой строки при использовании 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.


Однако, пожалуйста, прочтите документацию! Это всегда ваша первая остановка.

Другие вопросы по тегам