MBRLEN - Linux手册页
时间:2019-08-20 18:00:51 来源:igfitidea点击:
Linux程序员手册 第3部分
更新日期: 2015-08-08
名称
mbrlen-确定下一个多字节字符中的字节数
语法
#include <wchar.h> size_t mbrlen(const char *s, size_t n, mbstate_t *ps);
说明
mbrlen()函数检查从s开始的多字节字符串中最多n个字节,并提取下一个完整的多字节字符。它更新移位状态* ps。如果多字节字符不是全角字符,则它返回从s消耗的字节数。如果多字节字符为空宽字符,则它将移位状态* ps重置为初始状态并返回0。
如果以s开头的n个字节不包含完整的多字节字符,则mbrlen()返回(size_t)-2。即使多字节字符串包含冗余移位序列,即使n> = MB_CUR_MAX,也可能发生这种情况。
如果以s开头的多字节字符串在下一个完整字符之前包含无效的多字节序列,则mbrlen()返回(size_t)-1,并将errno设置为EILSEQ。在这种情况下,对* ps的影响是不确定的。
如果ps为NULL,则使用仅mbrlen()函数已知的静态匿名状态。
返回值
如果识别出非空宽度字符,则mbrlen()函数返回从以s开头的多字节序列中解析的字节数。如果识别出一个空宽字符,则返回0。如果遇到无效的多字节序列,它将返回(size_t)-1,并将errno设置为EILSEQ。如果无法解析完整的多字节字符,则返回(size_t)-2,这意味着应增加n。
属性
有关本节中使用的术语的说明,请参见attribute(7)。
Interface | Attribute | Value |
mbrlen() | Thread safety | MT-Unsafe race:mbrlen/!ps |
遵循规范
POSIX.1-2001,POSIX.1-2008,C99。
备注
mbrlen()的行为取决于当前语言环境的LC_CTYPE类别。
另外参见
mbrtowc(3)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。