C ++ 'daki mblen () işlevi, çok baytlı bir karakterin boyutunu (bayt cinsinden) belirler.
Mblen () işlevi başlık dosyasında tanımlanmıştır.
mblen () prototipi (C ++ 11 standardından itibaren)
int mblen (const char * s, size_t maks);
Mblen () işlevi s ve max olmak üzere iki bağımsız değişken alır ve bir tamsayı değeri döndürür. Gösterici, boyutu işlev tarafından döndürülen çok baytlı bir karakterin ilk baytını gösterir.
mblen () Parametreleri
- s: Çok baytlı bir karakterin veya boş göstericinin ilk baytı için işaretçi.
- max: S cinsinden incelenebilecek maksimum bayt sayısı.
mblen () Dönüş değeri
S bir boş göstericiyse, mblen () çağrısı, ilk kaydırma durumunu temsil etmek için dahili dönüştürme durumunu sıfırlar ve şunu döndürür:
- Mevcut çok baytlı kodlama duruma bağlı değilse 0 (kaydırma dizileri kullanmıyorsa).
- Mevcut çok baytlı kodlama duruma bağlıysa sıfır olmayan değer (kaydırma dizilerini kullanır).
S bir boş gösterici değilse, mblen () işlevi şunu döndürür:
- çok baytlı karakterde bulunan bayt sayısı.
- -1, s ile gösterilen ilk baytlar geçerli bir çok baytlı karakter oluşturmuyorsa.
- 0 eğer s ' 0' null karakterini gösteriyorsa.
Örnek: mblen () işlevi C ++ 'da nasıl çalışır?
#include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )
Programı çalıştırdığınızda, çıktı:
Çok baytlı karakter uzunluğu: 1