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 en aplicaciones de la Plataforma universal de Windows.
Sintaxis
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 son cadenas de wcscspn
caracteres anchos. Los argumentos y el valor devuelto de son cadenas de _mbscspn
caracteres multibyte.
_mbscspn
valida sus parámetros. Si o str
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 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 |
---|---|---|---|
_tcscspn |
strcspn |
_mbscspn |
wcscspn |
Requisitos
Routine | Encabezado necesario |
---|---|
strcspn |
<string.h> |
wcscspn |
<string.h> o <wchar.h> |
_mbscspn , _mbscspn_l |
<mbstring.h> |
Para obtener más información sobre compatibilidad, consulte 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( "", "" );
}
strcspn( "xyzbxz", "abc" ) = 3
strcspn( "xyzbxz", "xyz" ) = 0
strcspn( "xyzbxz", "no match" ) = 6
strcspn( "xyzbxz", "" ) = 6
strcspn( "", "abc" ) = 0
strcspn( "", "" ) = 0
Vea también
Manipulación de cadenas
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