在ICU4C ustdio.h中使用u_fgets时如何测试新行的长度?

问题描述 投票:0回答:1

在ICU4C中,

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

将从f的一行读取到缓冲区s,其大小为n

但是我怎么知道这条线的长度?

如果n不足以完成这一行会发生什么?

c++ c readfile icu4c
1个回答
0
投票

但是我怎么知道这条线的长度?

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

如果n对于这一行来说不够,会发生什么?

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


但是,请阅读文档!这始终是您的第一站。

© www.soinside.com 2019 - 2024. All rights reserved.