📜  C++ mbtowc()

📅  最后修改于: 2020-09-25 08:56:19             🧑  作者: Mango

C++中的mbtowc() 函数将多字节字符转换为宽字符。

mbtwoc() 函数在头文件中定义。

mbtowc()原型

int mbtowc (wchar_t* pwc, const char* pmb, size_t max);

mbtowc() 函数采用三个参数并返回一个整数值。此函数将pmb指向的多字节字符转换为宽字符 (类型为wchar_t的值),并存储在pwc指向的内存位置。

如果pmb是空指针,则对mbtowc()的调用将重置全局转换状态,并确定是否使用移位序列。

mbtowc()参数

mbtowc()返回值

如果pmb不是空指针,则mbtowc()返回:

如果pmb是空指针,则重置其内部转换状态以表示初始移位状态并返回:

示例:mbtowc() 函数如何工作?

#include 
#include 
#include 
using namespace std;

int main()
{
    char pmb[] = "Welcome to Programiz.com";
    wchar_t pwc[100];
    int len, ret_val;

    /* resets internal conversion state */
    mbtowc (NULL, NULL, 0);
    len = strlen(pmb);
    ret_val = mbtowc(pwc, pmb, strlen(pmb));

    cout << "Return Value = " << ret_val << endl;
    wcout << "Wide character string: " << pwc;

    return(0);
}

运行该程序时,可能的输出为:

Return Value = 1
Wide character string: W@