0

在 ICU4C 中,

UChar * u_fgets(UChar *s, int32_t n, UFILE *f)

f将从缓冲区中读取一行s,大小为n.

但是我怎么知道这一行的长度呢?

如果n这一行不够用怎么办?

4

1 回答 1

1

但是我怎么知道这一行的长度呢?

如果 u_fgets()工作方式与标准类似,fgets()它将在读取的最后一个字符之后放置一个 '\0'。strlen()然后,您可以通过为您的系统调用或其等效版本来获取长度。

如果这一行的 n 不够,会发生什么?

如果 u_fgets()工作方式与标准类似,fgets()它将停止将字符填充到缓冲区s中,以便 '\0' 进入最后一个单元格。这将是 处的n第一个字符s[n - 1]。未存储的字符将保留在输入流中f


但是,请阅读文档!那永远是你的第一站。

于 2019-10-22T12:03:56.147 回答