當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。