zoukankan      html  css  js  c++  java
  • C++获取字符串长度数

    strlen,获取到的是字节数,中文占两个字节。
    如何获取字符数,无论中文英文,标点符号,都按一个字符计算呢?这里提供其中的一个方法。那就是通过MultiByteToWideChar函数,将CString或char数据类型,转换为宽字符,通过wcslen获取长度。在宽字符集中,中英文,标点,都是按一个字符进行记数的。下面是示例代码:

    #include <iostream>
    #include "windows.h"
    using namespace std;
    
    void main()
    {
        char str[] = "就知道玩dota!";
        wchar_t wstr[256];
        MultiByteToWideChar (CP_ACP, 0, str, -1, wstr, 256);
        int ilen,iwlen;
        ilen = iwlen = -1;
        
        cout<<strlen(str)<<endl;
        cout<<wcslen(wstr)<<endl;
    }
    

    以下是运行结果:

    13
    9
    

    请按任意键继续. . .

  • 相关阅读:
    java-多态
    java-继承
    java-访问修饰符
    mysql基础入门
    子查询
    多表查询
    mysql表(多对多)
    myslql主外键约束
    Sql语句分类
    Redis的一些介绍
  • 原文地址:https://www.cnblogs.com/wswind/p/9811670.html
Copyright © 2011-2022 走看看