📅  最后修改于: 2020-09-25 09:02:53             🧑  作者: Mango
wctomb() 函数在
int wctomb (char* pmb, wchar_t wc);
wctomb() 函数采用两个参数并返回一个整数值。该函数将wc
表示的宽字符转换为等效的多字节字符,并存储在pmb
指向的内存位置。可以存储的最大字符数为MB_CUR_MAX 。
如果wc
是空字符,则将空字节写入pmb
。
如果pmb
是空指针,则对wctomb()的调用将重置全局转换状态,并确定是否使用移位序列。
如果pmb
不是空指针,则wctomb()返回:
如果pmb
是空指针,则重置其内部转换状态以表示初始移位状态并返回:
#include
#include
using namespace std;
int main()
{
wchar_t wc = L'x';
char *pmb1 = (char*)malloc(sizeof(char));
char *pmb2 = NULL;
int ret_val;
cout << "When pmb is not null" << endl;
ret_val = wctomb(pmb1, wc);
cout << "Return Value = " << ret_val << endl;
wcout << "Multibyte Character: " << pmb1 << endl << endl;
cout << "When pmb is null" << endl;
ret_val = wctomb(pmb2, wc);
cout << "Return Value = " << ret_val << endl;
wcout << "Multibyte Character: " << pmb2;
return(0);
}
运行该程序时,可能的输出为:
When pmb is not null
Return Value = 1
Multibyte Character: x↨R
When pmb is null
Return Value = 0
Multibyte Character: