Aracılığıyla paylaş


_mbclen, mblen, _mblen_l

Uzunluğu alır ve çok baytlı karakterin geçerliliğini belirler.

Önemli notÖnemli

Bu API, Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamaz.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri.

size_t _mbclen(
   const unsigned char *c 
);
int mblen(
   const char *mbstr,
   size_t count 
);
int _mblen_l(
   const char *mbstr,
   size_t count,
   _locale_t locale
);

Parametreler

  • c
    Çok baytlı karakter.

  • mbstr
    Çok baytlı bir karakter baytı dizesi adresi.

  • count
    Denetlenecek bayt sayısı.

  • locale
    Kullanılacak yerel ayar.

Dönüş Değeri

c çok baytlı karakterinin 1 veya 2 bayt uzunluğunda olup olmadığına göre _mbclen 1 veya 2 değerini döndürür._mbclen için döndürülen hata yok.mbstrNULL değilse, mblen işlevi çok baytlı karakterinin bayt cinsinden uzunluğunu döndürür.mbstrNULL ise veya geniş karakterli null karakterini gösteriyorsa, mblen 0 döndürür.Nesnenin belirttiği mbstr ilk count karakterlerinde geçerli çok baytlı karakter oluşturmuyorsa mblen –1 değerini döndürür.

Notlar

_mbclen işlevi çok baytlı c karakterinin bayt cinsinden uzunluğunu döndürür.c_ismbbleadseçeneğine örtük çağrıyla saptandığı gibi çok baytlı karakterin ön baytını göstermiyorsa, _mbclen sonucu tahmin edilemez.

mblen, uzunluğu geçerli bir çok baytlı karakterse ve kod sayfasıyla ilişkili çok baytlı karakter geçerliliğini saptarsa mbstr baytı cinsinden döndürür.mblen, count veya mbstr içindeki daha az baytı incelese de MB_CUR_MAX bayttan fazlasını incelemez.

Çıkış değeri, yerel ayarın LC_CTYPE kategori ayarından etkilenir; daha fazla bilgi için, bkz. setlocale.Bu işlevlerin, _l sonekine sahip olmayan sürümleri, yerel ayara bağlı davranışı için, geçerli yerel ayarı kullanır; _l sonekine sahip sürümler, bunun yerine iletilmiş yerel ayar parametresini kullanması hariç aynıdır.Daha fazla bilgi için bkz. Yerel Ayar.

Genel Metin Yordam Eşleşmeleri

Tchar.h yordamı

_UNICODE ve _MBCS tanımlanmaz

_MBCS tanımlanmış

_UNICODE tanımlanmış

_tclen

Makro veya satır içi işleve eşlenir

_mbclen

Makro veya satır içi işleve eşlenir

Gereksinimler

Yordam

Gerekli başlık

_mbclen

<mbstring.h>

mblen

<stdlib.h>

_mblen_l

<stdlib.h>

Daha fazla ek uyumluluk bilgileri için bkz. Uyumluluk.

Örnek

// crt_mblen.c
/* illustrates the behavior of the mblen function
 */

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
    int      i;
    char    *pmbc = (char *)malloc( sizeof( char ) );
    wchar_t  wc   = L'a';

    printf( "Convert wide character to multibyte character:\n" );
    wctomb_s( &i, pmbc, sizeof(char), wc );
    printf( "  Characters converted: %u\n", i );
    printf( "  Multibyte character: %x\n\n", *pmbc );

    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of multibyte character %x: %u\n", *pmbc, i );

    pmbc = NULL;
    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of NULL multibyte character %x: %u\n", pmbc, i );
}

Çıktı

Convert wide character to multibyte character:
  Characters converted: 1
  Multibyte character: 61

Length in bytes of multibyte character 61: 1
Length in bytes of NULL multibyte character 0: 0

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Ayrıca bkz.

Başvuru

Karakter Sınıflaması

Yerel Ayar

Çok Baytlı Karakter Sıralarının Yorumu

_mbccpy, _mbccpy_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l