mbstate_t
type <cwchar>
多字节转换状态
在多字节字符序列和宽字符序列之间进行转换时,保存维护状态所需的信息的类型。
多字节序列编码可能有不同的转换状态,这些状态会改变下一个字节字符的解释方式。
类型为mbstate_t的值能够在函数调用之间保持这些状态,这样序列的转换可以在多个调用之间安全地执行。
所有有效的多字节序列应该以相同的状态开始(和结束)(称为初始状态)。
一个零值mbstate_t对象总是描述一个初始的转换状态,
尽管其他值也可以表示这种状态(取决于特定的库实现)。
一个mbstate_t对象(mbs)通过调用可以被设置为初始状态:
memset (&mbs,0,sizeof(mbs)); // mbs is now a zero-valued object
两个mbstate_t值不能相互比较以检查特定的状态;mbstate_t对象的初始状态可以通过函数
mbsinit来检查。
🍄 另请参阅