_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Vrátí počet znaků nebo bajtů v rámci zadaného počtu.
Důležité |
---|
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, a _mbsnccnt_l nelze použít v aplikacích, které jsou spuštěny v systému Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
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
);
Parametry
str
Řetězec, který má být zkoumán.count
Počet znaků a bajtů, které mají být prověřeny v str.locale
Chcete-li národní prostředí pro použití.
Vrácená hodnota
_mbsnbcnta _mbsnbcnt_l vrátí počet bajtů, které jsou nalezeny v prvním count vícebajtových znaků z str._mbsnccnta _mbsnccnt_l vrácení počtu znaků, které jsou nalezeny v prvním count bajtů str.Pokud se před zkoumání narazí na znak NULL str byl dokončen, vrátí počet bajtů nebo znaků, které jsou nalezeny před znakem NULL.Pokud str se skládá z méně než count bajtů nebo znaků v řetězci vrátit počet znaků nebo bajtů.Pokud count je menší než nula, vrátí 0.V předchozích verzích byla tato funkce návratovou hodnotu typu int spíše než size_t.
_strncntVrátí počet znaků v prvním count bajtů Jednobajtové řetězce str._wcsncntVrátí počet znaků v prvním count široké znaky řetězce širokého znaku str.
Poznámky
_mbsnbcnta _mbsnbcnt_l počet bajtů, které jsou nalezeny v prvním count vícebajtových znaků z str._mbsnbcnta _mbsnbcnt_l nahradit mtob a by měla být použita místo mtob.
_mbsnccnta _mbsnccnt_l spočítat počet znaků, které jsou nalezeny v prvním count bajtů str.Pokud _mbsnccnt a _mbsnccnt_l vyskytnou hodnoty NULL v druhý bajt dvoubajtové znakové, první bajt je také považován za hodnotu NULL a není součástí hodnoty vrácené počet._mbsnccnta _mbsnccnt_l nahradit btom a by měla být použita místo btom.
Pokud str je ukazatel s hodnotou null nebo je count je 0, tyto funkce vyvolat obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametrů, errno je nastavena na EINVAL, a funkce vrátí hodnotu 0.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale pro další informace.Verze těchto funkcí, aniž by _l příponu použít aktuální národní prostředí pro toto chování závislé na národním prostředí; verze s _l s tím rozdílem, že používají místo něho předán parametr locale shodná přípona.Další informace naleznete v tématu Národní prostředí.
Mapování rutiny obecného textu
Byla zahájena rutina |
_UNICODE a _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_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 |
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
---|---|
_mbsnbcnt |
<mbstring.h> |
_mbsnbcnt_l |
<mbstring.h> |
_mbsnccnt |
<mbstring.h> |
_mbsnccnt_l |
<mbstring.h> |
_strncnt |
<tchar.h> |
_wcsncnt |
<tchar.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.
Příklad
// 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");
}
Výsledek
The first 10 characters are single-byte.
Ekvivalent v rozhraní .NET Framework
Nelze použít Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Platformu vyvolání příklady.