C++官网参考链接:https://cplusplus.com/reference/cwchar/mbsinit/
函数
mbsinit
int mbsinit (const mbstate_t* ps);
检查是否是初始转换状态
检查ps是否指向描述初始转换状态的mbstate_t对象。
0值的mbstate_t对象总是描述初始转换状态,尽管其他值也可以表示这种状态(取决于特定的库实现)。对于表示初始状态的任何mbstate_t对象,或者ps是空指针,此函数返回非0。
调用这个函数不会改变ps标识的状态。
ps所指的状态可以通过调用以下方法设置为初始状态:
memset (ps,0,sizeof(*ps)); // ps points now to a zero-valued object
形参
ps
指向mbstate_t对象的指针。
返回值
如果ps指向描述初始转换状态的mbstate_t对象,或者如果ps是空指针,则为非0值。
否则,返回0值。
用例
/* mbsinit example */
#include
#include
#include
int main()
{
char buffer[80];
mbstate_t mbst;
const wchar_t wcs [] = L"mbsinit example";
const wchar_t * p;
p = wcs;
if ( !mbsinit(&mbst) )
memset (&mbst,0,sizeof(mbst)); /* set to initial state */
wcsrtombs ( buffer, &p, 80, &mbst);
printf (buffer);
return 0;
}
输出: