Compartilhar via


_mbsdec, _mbsdec_l, _strdec, _wcsdec

Move uma seqüência de caracteres de ponteiro voltar um caractere.

unsigned char *_mbsdec(
   const unsigned char *start,
   const unsigned char *current 
);
unsigned char *_mbsdec_l(
   const unsigned char *start,
   const unsigned char *current,
   _locale_t locale
);

Parâmetros

  • start
    Ponteiro para o primeiro byte de qualquer caractere multibyte na seqüência de fonte; start deve preceder current na seqüência de fonte.

  • current
    Ponteiro para o primeiro byte de qualquer caractere multibyte na seqüência de fonte; current deve seguir start na seqüência de fonte.

  • locale
    Localidade usar.

Valor de retorno

_mbsdec, _mbsdec_l,_strdec, and _wcsdec each return a pointer to the character that immediately proceeds current; _mbsdec returns NULL if the value of start is greater than or equal to that of current._tcsdec mapeado para uma dessas funções e seu valor retornado varia de acordo com o mapeamento.

Comentários

The _mbsdec e _mbsdec_l função retorna um ponteiro para o primeiro byte de caractere multibyte imediatamente precedente current na seqüência de caractere que contém start.

O valor de saída é afetado pela configuração do LC_CTYPE categoria de configuração da localidade; consulte setlocale para obter mais informações._mbsdec recognizes multibyte-character sequences according to the local currently in use, while _mbsdec_lis identical except that it use the locale parameter passed in instead.For more information, see Localidade.

If start ou current é NULL, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro . Se a execução for permitida para continuar, esta função retorna EINVAL e conjuntos errno para EINVAL.

Observação de segurança    Essa API gera uma ameaça potencial colocada um problema de saturação de buffer.Problemas de saturação de buffer são um método de ataque do sistema, resultando em uma elevação do privilégio unwarranted freqüente.Para obter mais informações, consulte Evitar saturações de buffer.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tcsdec

_strdec

_mbsdec

_wcsdec

_strdec e _wcsdec são caracteres de um byte e versões de caractere largo da _mbsdec e _mbsdec_l. _strdec e _wcsdec são fornecidos somente para este mapeamento e não deve ser usada caso contrário.

Para obter mais informações, consulte Usando mapeamentos de texto genérico and Mapeamentos de texto genérica.

Requisitos

Rotina

Cabeçalho necessário

Cabeçalho opcional

_mbsdec

<mbstring.h>

<mbctype.h>

_mbsdec_l

<mbstring.h>

<mbctype.h>

_strdec

<tchar.h>

 

_wcsdec

<tchar.h>

 

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Exemplo

O trecho de código a seguir mostra um uso de _tcsdec.

   const TCHAR *str = _T("some text");
   const TCHAR *str2;
   TCHAR *answer;
   str2 = str;
   str2++;
   answer = _tcsdec( str, str2 );

O trecho de código a seguir mostra um uso de _mbsdec.

   char *str = "some text";
   char *str2;
   unsigned char *answer;
   str2 = str; 
   str2++;
   answer = _mbsdec( reinterpret_cast<unsigned char *>( str ), reinterpret_cast<unsigned char *>( str2 ));

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Manipulação de seqüência de caracteres (CRT)

_mbsinc, _mbsinc_l, _strinc, _wcsinc

_mbsnextc, _mbsnextc_l, _strnextc, _wcsnextc

_mbsninc, _mbsninc_l, _strninc, _wcsninc