strcspn, wcscspn, _mbscspn, _mbscspn_l

Devuelve el índice de la primera aparición en una cadena de un carácter que pertenece a un conjunto de caracteres.

Importante

_mbschr y _mbschr_l no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas con /ZW.

size_t strcspn(
   const char *str,
   const char *strCharSet 
);
size_t wcscspn(
   const wchar_t *str,
   const wchar_t *strCharSet 
);
size_t _mbscspn(
   const unsigned char *str,
   const unsigned char *strCharSet 
);
size_t _mbscspn_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
);

Parámetros

  • str
    Cadena terminada en un valor nulo en la que se ha buscado.

  • strCharSet
    Juego de caracteres terminado en NULL.

  • locale
    Configuración regional que se va a usar.

Valor devuelto

Estas funciones devuelven el índice del primer carácter de str que está en strCharSet. Si ninguno de los caracteres de str está en strCharSet, el valor devuelto es la longitud de str.

No se reserva ningún valor devuelto para indicar un error.

Comentarios

wcscspn y _mbscspn son versiones de caracteres anchos y multibyte de strcspn. Los argumentos de wcscspn son cadenas de caracteres anchos; los de _mbscspn son cadenas de caracteres multibyte.

_mbscspn valida sus parámetros. Si str o strCharSet es un puntero nulo, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, la función devuelve 0 y establece errno en EINVAL. strcspn y wcscspn no validan sus parámetros. Estas tres funciones se comportan exactamente igual.

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. 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 locale pasado en su lugar. Para obtener más información, vea Configuración regional.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcscspn

strcspn

_mbscspn

wcscspn

n/a

n/a

_mbscspn_l

n/a

Requisitos

Rutina

Encabezado necesario

strcspn

<string.h>

wcscspn

<string.h> o <wchar.h>

_mbscspn, _mbscspn_l

<mbstring.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

Ejemplo

// crt_strcspn.c

#include <string.h>
#include <stdio.h>

void test( const char * str, const char * strCharSet )
{
   int pos = strcspn( str, strCharSet );
   printf( "strcspn( \"%s\", \"%s\" ) = %d\n", str, strCharSet, pos );    
}

int main( void )
{
   test( "xyzbxz", "abc" );
   test( "xyzbxz", "xyz" );
   test( "xyzbxz", "no match" );
   test( "xyzbxz", "" );
   test( "", "abc" );
   test( "", "" );
}
  

Equivalente en .NET Framework

System::String::Substring

Vea también

Referencia

Manipulación de cadenas (CRT)

Configuración regional

Interpretación de secuencias de caracteres de varios bytes

strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

strspn, wcsspn, _mbsspn, _mbsspn_l