C ++ mblen () - C ++ Standart Kitaplığı

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

Ilginç makaleler...