Compartilhar via


_ismbslead, _ismbstrail, _ismbslead_l, _ismbstrail_l

Executa testes sensíveis ao contexto de bytes de início e bytes finais da cadeia de caracteres multibyte e determina se um determinado ponteiro de subcadeia de caracteres aponta para um byte inicial ou para um byte final.

Importante

Esta API não pode ser usada 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

int _ismbslead(
   const unsigned char *str,
   const unsigned char *current
);
int _ismbstrail(
   const unsigned char *str,
   const unsigned char *current
);
int _ismbslead_l(
   const unsigned char *str,
   const unsigned char *current,
   _locale_t locale
);
int _ismbstrail_l(
   const unsigned char *str,
   const unsigned char *current,
   _locale_t locale
);

Parâmetros

str
Ponteiro para o início da cadeia de caracteres ou o byte inicial anterior conhecido.

current
Ponteiro para a posição na cadeia de caracteres a ser testada.

locale
A localidade a ser usada.

Valor retornado

_ismbslead Retorna -1 se o caractere for um byte de lead e _ismbstrail retorna -1 se o caractere for um byte de trilha. Se as cadeias de caracteres de entrada forem válidas, mas não forem um byte inicial ou um byte de trilha, essas funções retornarão zero. Se um dos argumentos for NULL, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essas funções retornarão NULL e definirão errno para EINVAL.

Comentários

_ismbslead e _ismbstrail são mais lentos que as versões _ismbblead e _ismbbtrail, porque consideram o contexto da cadeia de caracteres.

As versões dessas funções que têm o sufixo _l são idênticas, exceto por usarem a localidade passada em vez da localidade atual para seu comportamento que depende da localidade. Para obter mais informações, consulte Localidade.

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

Requisitos

Rotina Cabeçalho necessário Cabeçalho opcional
_ismbslead <mbctype.h> ou <mbstring.h> <ctype.h>,* <limits.h>, <stdlib.h>
_ismbstrail <mbctype.h> ou <mbstring.h> <ctype.h>,* <limits.h>, <stdlib.h>
_ismbslead_l <mbctype.h> ou <mbstring.h> <ctype.h>,* <limits.h>, <stdlib.h>
_ismbstrail_l <mbctype.h> ou <mbstring.h> <ctype.h>,* <limits.h>, <stdlib.h>

* Para constantes de manifesto para as condições de teste.

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

Confira também

Classificação de personagens
_ismbc Rotinas
Rotinas is e isw
_ismbb Rotinas