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