Share via


_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l

Retorna um ponteiro para o primeiro caractere em uma determinada cadeia de caracteres que não está em outra determinada cadeia de caracteres.

Importante

_mbsspnp e _mbsspnp_l não podem ser usados em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.

Sintaxe

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
Cadeia de caracteres terminada em nulo para pesquisa.

charset
Conjunto de caracteres terminado em nulo.

locale
Localidade a usar.

Retornar valor

_strspnp, _wcsspnpe retorna um ponteiro para o primeiro caractere _mbsspnp em que não pertence ao conjunto de caracteres em strcharset. Cada uma dessas funções retorna NULL se str consistir inteiramente de caracteres de charset. Para cada uma dessas rotinas, nenhum valor retornado é reservado para indicar um erro.

Comentários

A _mbsspnp função retorna um ponteiro para o caractere multibyte que é o primeiro caractere no qual não pertence ao conjunto de caracteres no strcharset. _mbsspnp reconhece sequências de caracteres multibyte de acordo com a página de código multibyte atualmente em uso. A pesquisa não inclui o encerramento de caracteres nulos.

Se um ou charset for um str ponteiro nulo, essa função invocará o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução puder continuar, a função retornará NULL e definirá errno como EINVAL.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Mapeamentos de rotina de texto genérico

Rotina Tchar.h _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tcsspnp _strspnp _mbsspnp _wcsspnp

_strspnp e _wcsspnp são versões de caractere de byte único e de caractere largo de _mbsspnp. _strspnpe comportar-se de forma idêntica ao _mbsspnp contrário; eles são fornecidos apenas para esse mapeamento e _wcsspnp não devem ser usados por qualquer outro motivo. Para obter mais informações, consulte Usando mapeamentos de texto genérico e mapeamentos de texto genérico.

_mbsspnp_l é idêntico, exceto que ele usa o parâmetro de localidade passado. Para obter mais informações, consulte Localidade.

Requisitos

Rotina Cabeçalho necessário
_mbsspnp <mbstring.h>
_strspnp <tchar.h>
_wcsspnp <tchar.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// 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);
}

Saída

abbage

Confira também

Manipulação de cadeia de caracteres
Localidade
Interpretação de sequências 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