_mbclen, mblen, _mblen_l
Uzunluğu alır ve çok baytlı karakterin geçerliliğini belirler.
Ö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
Çok Baytlı Karakter Sıralarının Yorumu
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l