1. 程式人生 > >C++獲取字串長度數

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

請按任意鍵繼續. . .

2013-08-26 21:53