_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Belirli bir sayım içindeki karakter veya bayt sayısını döndürür.
Önemli |
---|
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, ve _mbsnccnt_l Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamazlar.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri. |
size_t _strncnt(
const char *str,
size_t count
);
size_t _wcsncnt(
const wchar_t *str,
size_t count
);
size_t _mbsnbcnt(
const unsigned char *str,
size_t count
);
size_t _mbsnbcnt_l(
const unsigned char *str,
size_t count,
_locale_t locale
);
size_t _mbsnccnt(
const unsigned char *str,
size_t count
);
size_t _mbsnccnt_l(
const unsigned char *str,
size_t count,
_locale_t locale
);
Parametreler
str
İncelenecek dize.count
str içinde incelenecek karakter veya bayt sayısı.locale
Kullanılacak yerel ayar.
Dönüş Değeri
str çok baytlı karakterlerinin ilk count öğesinde bulunan bayt sayısını _mbsnbcnt ve _mbsnbcnt_l döndürür._mbsnccnt ve _mbsnccnt_l, str öğesinin ilk count baytlarında bulunan karakter sayısını döndürür.str öğesinin yürütülmesi tamamlanmadan önce bir NULL karakterler karşılaşılırsa, NULL karakterden önce bulunan bayt veya karakter sayısını döndürürler.str, count karakter veya bayttan daha azından oluşuyorsa dizedeki karakter veya bayt sayısını döndürürler.count sıfırdan az ise, 0 döndürürler.Önceki sürümlerde, bu işlevlerde size_t yerine int türünden bir dönüş değeri vardır.
_strncnt, tek baytlık str dizesinin ilk count baytlarındaki karakter sayısını döndürür._wcsncntstr geniş karakter dizesinin ilk count geniş karakterlerindeki karakter sayısını döndürür.
Notlar
str çok baytlı karakterlerinin ilk count öğesinde bulunan bayt sayısını _mbsnbcnt ve _mbsnbcnt_l sayar._mbsnbcnt ve _mbsnbcnt_lmtob öğesini değiştirir ve mtob öğesinin yerine kullanılmalıdırlar.
_mbsnccnt ve _mbsnccnt_l, str öğesinin ilk count baytlarında bulunan karakter sayısını hesaplar._mbsnccnt ve _mbsnccnt_l çift baytlı bir karakterin ikinci baytında bir NULL değeriyle karşılaşırsa, ilk bayt da NULL olarak kabul edilir ve döndürülen sayı değerine dahil edilmez._mbsnccnt ve _mbsnccnt_lbtom öğesini değiştirirler ve btom öğesinin yerine kullanılmalıdırlar.
str null bir işaretçiyse veya count 0 ise, bu işlevler Parametre Doğrulama konusunda açıklandığı gibi geçersiz parametre işleyicisini çağırır, errnoEINVAL olarak ayarlanır ve işlev 0 değerini döndürür.
Çı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
Yordam |
_UNICODE ve _MBCS tanımlanmaz |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_tcsnbcnt |
_strncnt |
_mbsnbcnt |
_wcsncnt |
_tcsnccnt |
_strncnt |
_mbsnbcnt |
n/a |
_wcsncnt |
n/a |
n/a |
_mbsnbcnt |
_wcsncnt |
n/a |
n/a |
_mbsnccnt |
n/a |
n/a |
_mbsnbcnt_l |
_mbsnccnt_l |
Gereksinimler
Yordam |
Gerekli başlık |
---|---|
_mbsnbcnt |
<mbstring.h> |
_mbsnbcnt_l |
<mbstring.h> |
_mbsnccnt |
<mbstring.h> |
_mbsnccnt_l |
<mbstring.h> |
_strncnt |
<tchar.h> |
_wcsncnt |
<tchar.h> |
Daha fazla ek uyumluluk bilgileri için bkz. Uyumluluk.
Örnek
// crt_mbsnbcnt.c
#include <mbstring.h>
#include <stdio.h>
int main( void )
{
unsigned char str[] = "This is a multibyte-character string.";
unsigned int char_count, byte_count;
char_count = _mbsnccnt( str, 10 );
byte_count = _mbsnbcnt( str, 10 );
if ( byte_count - char_count )
printf( "The first 10 characters contain %d multibyte characters\n", char_count );
else
printf( "The first 10 characters are single-byte.\n");
}
Çıktı
The first 10 characters are single-byte.
.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.