C 编程/wchar.h/mbrlen
外观
mbrlen 是标准库函数,用于使用转换状态确定多字节字符的长度。 mbrlen 函数与其可重启性不同于 'mblen' 'mblen l'。
要在程序中使用此函数,请包含标准头文件<wchar.h>。
size_t mbrlen (const char *s, size_t maxsize, mbstate_t *ps ).
mbrlen() 函数检查 s 所指字符串的最大大小为 maxsize,并提取下一个完整的 多字节字符。 它更新移位状态 *ps。 如果多字节字符不是 NULL 宽字符,则返回 s 使用的字节数。
(size_t) - 2 : 结果转换状态指示在转换完所有 maxsize 字符后,出现了不完整的多字节字符。
(size_t) - 1 : 该函数在完成下一个多字节字符之前检测到编码错误,在这种情况下,该函数将 errno 设置为 EILSEQ,并将结果转换状态留为空白。
0 : 下一个完整字符是空字符,在这种情况下,结果转换状态为初始转换状态。
正数 : 如果下一个 n 或更少的字节完成一个有效字符; 返回的值应是完成该字符的字节数。