类型
<cwchar>

mbstate_t

多字节转换状态
在多字节字符序列和宽字符序列之间(双向)维护转换状态所需的信息类型。

多字节序列编码可能有不同的移位状态,这些状态会改变下一个字节字符的解释方式。类型为mbstate_t的值可以在函数调用之间保持这些状态,以便对序列的转换可以安全地在多次调用中执行。

所有有效多字节序列都应该以相同的状态开始(并结束)(称为其初始状态)。一个值为零的mbstate_t对象总是描述一个初始转换状态,尽管其他值也可能表示这种状态(取决于具体的库实现)。

一个mbstate_t对象(mbs)可以通过调用
1
memset (&mbs,0,sizeof(mbs));  // mbs is now a zero-valued object 

两个mbstate_t值不应该相互比较以检查特定的状态;mbstate_t对象的初始状态状态可以用函数mbsinit检查。

另见