C++ 中的mbstowcs() 函數將多字節字符串轉換為等效的寬字符序列。
mbstowcs() 函數在<cstdlib> 頭文件中定義。
mbstowcs()原型
size_t mbstowcs (wchar_t* dest, const char* src, size_t max);
mbstowcs() 函數接受三個參數並返回一個整數值。
此函數將第一個元素由src
指向的多字節字符串轉換為其寬字符(wchar_t 類型的值)表示形式。
結果存儲在 dest
指向的內存位置。參數max
表示要轉換的最大多字節字符數。
轉換機製與 mbtowc() 相同,隻是 mbtowc 轉換狀態不受影響。如果出現以下情況,轉換將停止:
- 遇到空字符,然後將其轉換並存儲。
- 遇到無效的多字節字符。
- 已轉換最大多字節字符數。
參數:
dest
:指向生成的寬字符數組的指針。src
:指向轉換為寬字符的多字節字符的第一個元素的指針。max
:要轉換的最大多字節字符數。
返回:
- 如果轉換成功,mbstowcs() 返回寬字符數,不包括寫入目標數組的終止字符(即'\0')。
- 如果在轉換過程中發生任何錯誤,則返回 -1。
示例:mbstowcs() 函數如何工作?
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
char src[] = "\xc4\xe3\xba\xc3";
wchar_t dest[10];
int num;
num = mbstowcs(dest, src, MB_CUR_MAX);
cout << "Number of wide character converted = " << num << endl;
wcout << "Wide Character String = " << dest << endl;
return 0;
}
運行程序時,可能的輸出將是:
Number of wide character converted = 1 Wide Character String = ─
相關用法
- C++ mbsinit()用法及代碼示例
- 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++ multiset emplace()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ mbstowcs()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。