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()用法及代码示例
- C++ mbstowcs()用法及代码示例
- C++ mbsrtowcs()用法及代码示例
- C++ mbtowc()用法及代码示例
- C++ mbrtoc32()用法及代码示例
- C++ mbrlen()用法及代码示例
- C++ mbrtoc16()用法及代码示例
- C++ mbrtowc()用法及代码示例
- C++ mblen()用法及代码示例
- C++ map lower_bound()用法及代码示例
- C++ multimap key_comp()用法及代码示例
- C++ merge()用法及代码示例
- C++ multimap empty()用法及代码示例
- C++ multimap cend()用法及代码示例
- C++ multiset begin()、end()用法及代码示例
- C++ map::at()用法及代码示例
- C++ multiset value_comp()用法及代码示例
- C++ multimap insert()用法及代码示例
- C++ memset()用法及代码示例
- C++ map max_size()用法及代码示例
注:本文由纯净天空筛选整理自 C++ mbsinit()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。