当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


C++ mbsinit()用法及代码示例

C++ 中的mbsinit() 函数确定mbstate_t 对象是否说明初始转换状态。

mbsinit() 函数在<cwchar> 头文件中定义。

mbsinit()原型

int mbsinit( const mbstate_t* ps);

如果ps 不是空指针,mbsinit() 函数会检查 ps 是否表示初始转换状态。

参数:

  • ps:指向要检查的 mbstate_t 对象的指针。

返回:

mbsinit() 函数返回:

  • 如果 ps 不是空指针并且不表示初始转换状态,则为 0。
  • 如果 ps 是空指针或表示初始转换状态,则非零。

示例:mbsinit() 函数如何工作?

#include <cwchar>
#include <clocale>
#include <iostream>
using namespace std;

void test_ps(mbstate_t ps)
{
	if (mbsinit(&ps))
	cout << "the conversion state is initial conversion state" << endl;
	else
	cout << "the conversion state is not initial conversion state" << endl;
}

int main()
{
	setlocale(LC_ALL, "en_US.utf8");
	
	char str[] = "\u00b5";
	mbstate_t ps = mbstate_t();
	
	cout << "Initially after creating ps, ";
	test_ps(ps);
	mbrlen(str, 1, &ps);
	
	cout << "After performing some task, ";
	test_ps(ps);
	
	return 0;
}

运行程序时,输出将是:

Initially after creating ps, the conversion state is initial conversion state
After performing some task, the conversion state is not initial conversion state

相关用法


注:本文由纯净天空筛选整理自 C++ mbsinit()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。