_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Devuelve el número de caracteres o bytes de un recuento especificado.Returns the number of characters or bytes within a specified count.

Importante

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnty _mbsnccnt_l no se pueden usar en aplicaciones que se ejecutan en el Windows Runtime._mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, and _mbsnccnt_l cannot be used in applications that execute in the Windows Runtime. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.For more information, see CRT functions not supported in Universal Windows Platform apps.

SintaxisSyntax

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
);

ParámetrosParameters

strstr
Cadena que se va a examinar.String to be examined.

countcount
Número de caracteres o bytes que se van a examinar en Str.Number of characters or bytes to be examined in str.

localelocale
Configuración regional que se va a usar.Locale to use.

Valor devueltoReturn Value

_mbsnbcnt y _mbsnbcnt_l devuelven el número de bytes que se encuentran en el primer recuento de caracteres multibyte de Str._mbsnbcnt and _mbsnbcnt_l return the number of bytes found in the first count of multibyte characters of str. _mbsnccnt y _mbsnccnt_l devuelven el número de caracteres que se encuentran en el primer recuento de bytes de Str._mbsnccnt and _mbsnccnt_l return the number of characters found in the first count of bytes of str. Si se encuentra un carácter nulo antes de que se haya completado el examen de Str , devuelven el número de bytes o caracteres encontrados antes del carácter nulo.If a null character is encountered before the examination of str has completed, they return the number of bytes or characters found before the null character. Si Str consta de menos de caracteres de recuento o bytes, devuelve el número de caracteres o bytes de la cadena.If str consists of fewer than count characters or bytes, they return the number of characters or bytes in the string. Si Count es menor que cero, devuelven 0.If count is less than zero, they return 0. En versiones anteriores, estas funciones tenían un valor devuelto de tipo int en lugar de size_t.In previous versions, these functions had a return value of type int rather than size_t.

_strncnt devuelve el número de caracteres en el primer número de bytes de la cadena de un solo byte Str._strncnt returns the number of characters in the first count bytes of the single-byte string str. _wcsncnt devuelve el número de caracteres en el primer número de caracteres anchos de la cadena de caracteres anchos Str._wcsncnt returns the number of characters in the first count wide characters of the wide-character string str.

ObservacionesRemarks

_mbsnbcnt y _mbsnbcnt_l cuentan el número de bytes que se encuentran en el primer recuento de caracteres multibyte de Str._mbsnbcnt and _mbsnbcnt_l count the number of bytes found in the first count of multibyte characters of str. _mbsnbcnt y _mbsnbcnt_l reemplazan a mtob y deben usarse en lugar de mtob._mbsnbcnt and _mbsnbcnt_l replace mtob and should be used in place of mtob.

_mbsnccnt y _mbsnccnt_l cuentan el número de caracteres que se encuentran en el primer recuento de bytes de Str._mbsnccnt and _mbsnccnt_l count the number of characters found in the first count of bytes of str. Si _mbsnccnt y _mbsnccnt_l encuentran un carácter nulo en el segundo byte de un carácter de doble byte, el primer byte también se considera NULL y no se incluye en el valor de recuento devuelto.If _mbsnccnt and _mbsnccnt_l encounter a null character in the second byte of a double-byte character, the first byte is also considered to be null and is not included in the returned count value. _mbsnccnt y _mbsnccnt_l reemplazan a btom y deben usarse en lugar de btom._mbsnccnt and _mbsnccnt_l replace btom and should be used in place of btom.

Si Str es un puntero nulo o Count es 0, estas funciones invocan el controlador de parámetros no válidos, tal y como se describe en validación de parámetros, errno se establece en EINVALy la función devuelve 0.If str is a NULL pointer or is count is 0, these functions invoke the invalid parameter handler as described in Parameter Validation, errno is set to EINVAL, and the function returns 0.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional; vea setlocale para obtener más información.The output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale for more information. Las versiones de estas funciones sin el sufijo _l usan la configuración regional actual de su comportamiento dependiente de la configuración regional; las versiones con el sufijo _l son idénticas salvo que usan el parámetro de configuración regional que se pasa.The versions of these functions without the _l suffix use the current locale for this locale-dependent behavior; the versions with the _l suffix are identical except that they use the locale parameter passed in instead. Para obtener más información, vea Locale.For more information, see Locale.

De forma predeterminada, el ámbito de este estado global de esta función es la aplicación.By default, this function's global state is scoped to the application. Para cambiar esto, vea estado global en CRT.To change this, see Global state in the CRT.

Asignaciones de rutina de texto genéricoGeneric-Text Routine Mappings

RutinaRoutine _UNICODE y _MBCS no definidos_UNICODE and _MBCS not defined _MBCS definido_MBCS defined _UNICODE definido_UNICODE defined
_tcsnbcnt_tcsnbcnt _strncnt_strncnt _mbsnbcnt_mbsnbcnt _wcsncnt_wcsncnt
_tcsnccnt_tcsnccnt _strncnt_strncnt _mbsnbcnt_mbsnbcnt N/Dn/a
_wcsncnt_wcsncnt N/Dn/a N/Dn/a _mbsnbcnt_mbsnbcnt
_wcsncnt_wcsncnt N/Dn/a N/Dn/a _mbsnccnt_mbsnccnt
N/Dn/a N/Dn/a _mbsnbcnt_l_mbsnbcnt_l _mbsnccnt_l_mbsnccnt_l

RequisitosRequirements

RutinaRoutine Encabezado necesarioRequired header
_mbsnbcnt_mbsnbcnt <mbstring.h>
_mbsnbcnt_l_mbsnbcnt_l <mbstring.h>
_mbsnccnt_mbsnccnt <mbstring.h>
_mbsnccnt_l_mbsnccnt_l <mbstring.h>
_strncnt_strncnt <tchar.h>
_wcsncnt_wcsncnt <tchar.h>

Para obtener más información sobre compatibilidad, vea Compatibility.For more compatibility information, see Compatibility.

EjemploExample

// 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");
}

SalidaOutput

The first 10 characters are single-byte.

Vea tambiénSee also

Manipulación de cadenasString Manipulation
Configuración regionalLocale
Interpretación de secuencias de caracteres multibyteInterpretation of Multibyte-Character Sequences
_mbsnbcat, _mbsnbcat_l_mbsnbcat, _mbsnbcat_l