📜  C++ mblen()

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

C++中的mblen() 函数确定多字节字符的大小(以字节为单位)。

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

mblen()原型[从C++ 11标准开始]

int mblen (const char* s, size_t max);

mblen() 函数采用两个参数smax ,并返回一个整数值。指针s指向多字节字符的第一个字节,该字符的大小由函数返回。

mblen()参数

mblen()返回值

如果s是空指针,则对mblen()的调用将重置其内部转换状态以表示初始移位状态并返回:

如果s不是空指针,则mblen() 函数返回:

示例:mblen() 函数在C++中如何工作?

#include 
#include 
#include 
using namespace std;

int main()
{
    int len;
    char *s = (char *)malloc(20);
    strcpy(s,"\xe4\xbd\xa0\xe5\xa5\xbd");

    /* resets the conversion state */
    mblen(NULL, 0);
    len = mblen(s,strlen(s));

    cout << "Length of multibyte character: " << len << endl;
    return 0;
}

运行该程序时,输出为:

Length of multibyte character: 1