_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l
Retorna um ponteiro para o primeiro caractere de uma determinada cadeia de caracteres que não esteja em outra cadeia de caracteres especificada.
Importante
_mbsspnp e _mbsspnp_l não podem ser usados em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.
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 com Null para pesquisa.charset
Conjunto de caracteres terminados em nulo.locale
Localidade a ser usada.
Valor de retorno
_strspnp, _wcsspnp e _mbsspnp retornam 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 se str consistir inteiramente em caracteres de charset*.* Para cada uma dessas rotinas, nenhum valor de retorno é reservado para indicar um erro.
Comentários
A função _mbsspnp 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 em uso no momento. A pesquisa não inclui o encerramento em caracteres nulos.
Se str ou charset for um ponteiro nulo, a função chamará o manipulador de parâmetro inválido, como descrito em Validação do parâmetro. Se a execução puder continuar, a função retornará NULL e definirá errno como EINVAL.
Mapeamentos da 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 caracteres largos e de caracteres de byte único de _mbsspnp. De outra maneira, _strspnp e _wcsspnp se comportam de forma idêntica a _mbsspnp; são fornecidos apenas para esse mapeamento e 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 usa o parâmetro de localidade passado no lugar. Para obter mais informações, consulte Localidade.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_mbsspnp |
<mbstring.h> |
_strspnp |
<tchar.h> |
_wcsspnp |
<tchar.h> |
Para obter mais 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
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.
Consulte também
Referência
Manipulação da cadeia de caracteres (CRT)
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