Partilhar 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 cadeia de caracteres fornecida.

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.

Valor retornado

_strspnp, _wcsspnpe _mbsspnp retorna um ponteiro para o primeiro caractere em str que não pertence ao conjunto de caracteres em charset. Cada uma dessas funções retorna NULL if str consiste inteiramente em 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 em str que não pertence ao conjunto de caracteres em charset. _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 caracteres nulos de terminação.

Se um str ou charset for um ponteiro nulo, essa função invocará o manipulador de parâmetro 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, confira Estado global no 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. _strspnp e _wcsspnp se comportar de forma idêntica a _mbsspnp outra forma; eles são fornecidos apenas para este mapeamento e não devem ser usados por nenhum 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