_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
, _wcsspnp
e _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