在ICU4C中,
UChar * u_fgets(UChar *s, int32_t n, UFILE *f)
将从f
的一行读取到缓冲区s
,其大小为n
。
但是我怎么知道这条线的长度?
如果n
不足以完成这一行会发生什么?
但是我怎么知道这条线的长度?
If u_fgets()
的工作方式与标准fgets()
相似,它将在最后读取的字符后放置一个'\ 0'。然后,可以通过调用strlen()
或系统的等效版本来获取长度。
如果n对于这一行来说不够,会发生什么?
If u_fgets()
的工作原理与标准fgets()
相似,它将停止将字符填充到缓冲区s
中,以使'\ 0'进入最后一个单元格。这将是n
处的第s[n - 1]
个字符。未存储的字符将保留在输入流f
中。
但是,请阅读文档!这始终是您的第一站。