Compartir a través de


strspn, wcsspn, , _mbsspn, _mbsspn_l

Devuelve el índice del primer carácter de una cadena que no pertenece a un conjunto de caracteres especificado.

Importante

_mbsspn y _mbsspn_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 en aplicaciones de la Plataforma universal de Windows.

Sintaxis

size_t strspn(
   const char *str,
   const char *strCharSet
);
size_t wcsspn(
   const wchar_t *str,
   const wchar_t *strCharSet
);
size_t _mbsspn(
   const unsigned char *str,
   const unsigned char *strCharSet
);
size_t _mbsspn_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
);

Parámetros

str
Cadena terminada en NULL que se va a buscar.

strCharSet
Juego de caracteres terminado en NULL.

locale
Configuración regional que se va a usar.

Valor devuelto

Devuelve un valor entero que especifica la longitud de la subcadena en str que consta completamente de caracteres en strCharSet. Si str comienza con un carácter que no está en strCharSet, la función devuelve 0.

Comentarios

La strspn función devuelve el índice del primer carácter de str que no pertenece al conjunto de caracteres de strCharSet. La búsqueda no incluye caracteres NULOs de terminación.

wcsspn y _mbsspn son versiones de caracteres anchos y multibyte de strspn. Los argumentos de son cadenas de wcsspn caracteres anchos. Los argumentos de son cadenas de _mbsspn caracteres multibyte. _mbsspn valida sus parámetros. Si str o strCharSet es NULL, 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, _mbspn establece errno en EINVAL y devuelve 0. strspn y wcsspn no validen 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. Para obtener más información, vea setlocale. 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 Locale.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tcsspn strspn _mbsspn wcsspn
n/a n/a _mbsspn_l n/a

Requisitos

Routine Encabezado necesario
strspn <string.h>
wcsspn <string.h> o <wchar.h>
_mbsspn, _mbsspn_l <mbstring.h>

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

Ejemplo

// crt_strspn.c
// This program uses strspn to determine
// the length of the segment in the string "cabbage"
// consisting of a's, b's, and c's. In other words,
// it finds the first non-abc letter.
//

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

int main( void )
{
   char string[] = "cabbage";
   int  result;
   result = strspn( string, "abc" );
   printf( "The portion of '%s' containing only a, b, or c "
           "is %d bytes long\n", string, result );
}
The portion of 'cabbage' containing only a, b, or c is 5 bytes long

Vea también

Manipulación de cadenas
Configuración regional
Interpretación de secuencias de caracteres de varios bytes
_strspnp, _wcsspnp, , _mbsspnp, _mbsspnp_l
strcspn, wcscspn, , _mbscspn, _mbscspn_l
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