跳转到内容

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 或更少的字节完成一个有效字符; 返回的值应是完成该字符的字节数。

华夏公益教科书