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