Compartir vía


_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l

Devuelve un puntero al primer carácter de una cadena determinada que no está en otra cadena determinada.

Importante

_mbsspnp y _mbsspnp_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

char *_strspnp(
   const char *str,
   const char *charset
);
wchar_t *_wcsspnp(
   const unsigned wchar_t *str,
   const unsigned wchar_t *charset
);
unsigned char *_mbsspnp(
   const unsigned char *str,
   const unsigned char *charset
);
unsigned char *_mbsspnp_l(
   const unsigned char *str,
   const unsigned char *charset,
   _locale_t locale
);

Parámetros

str
Cadena terminada en NULL que se va a buscar.

charset
Juego de caracteres terminado en NULL.

locale
Configuración regional que se va a usar.

Valor devuelto

_strspnp, _wcsspnpy _mbsspnp devuelven un puntero al primer carácter de str que no pertenece al conjunto de caracteres de charset. Cada una de estas funciones devuelve NULL si str consta completamente de caracteres de charset. Para cada una de estas rutinas, no hay ningún valor devuelto reservado para indicar un error.

Comentarios

La _mbsspnp función devuelve un puntero al carácter multibyte que es el primer carácter de str que no pertenece al conjunto de caracteres de charset. _mbsspnp reconoce las secuencias de caracteres multibyte de acuerdo con la página de códigos multibyte actualmente en uso. La búsqueda no incluye caracteres NULOs de terminación.

Si o strcharset es un puntero nulo, esta función invoca al 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 NULL y establece en errno en EINVAL.

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
_tcsspnp _strspnp _mbsspnp _wcsspnp

_strspnp y _wcsspnp son versiones de caracteres de un solo byte y caracteres anchos de _mbsspnp. _strspnp y _wcsspnp se comportan de forma idéntica a _mbsspnp otra; solo se proporcionan para esta asignación y no deben usarse por ningún otro motivo. Para obtener más información, consulte Uso de asignaciones de texto genérico y asignaciones de texto genérico.

_mbsspnp_l es exactamente igual, salvo que usa el parámetro de configuración regional que se pasa. Para obtener más información, vea Locale.

Requisitos

Routine Encabezado necesario
_mbsspnp <mbstring.h>
_strspnp <tchar.h>
_wcsspnp <tchar.h>

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

Ejemplo

// crt_mbsspnp.c
#include <mbstring.h>
#include <stdio.h>

int main( void ) {
   const unsigned char string1[] = "cabbage";
   const unsigned char string2[] = "c";
   unsigned char *ptr = 0;
   ptr = _mbsspnp( string1, string2 );
   printf( "%s\n", ptr);
}

Salida

abbage

Consulte también

Manipulación de cadenas
Configuración regional
Interpretación de secuencias de caracteres multibyte
strspn, wcsspn, _mbsspn, _mbsspn_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l