_strdec, _wcsdec, _mbsdec, _mbsdec_l
Move um caractere de volta um ponteiro de cadeia de caracteres.
Importante |
---|
mbsdec e mbsdec_l não podem ser usados em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW. |
unsigned char *_strdec( const unsigned char *start, const unsigned char *current ); unsigned wchar_t *_wcsdec( const unsigned wchar_t *start, const unsigned wchar_t *current ); 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 qualquer caractere (ou para _mbsdec e _mbsdec_l, o primeiro byte de qualquer caractere de multibyte) na cadeia de caracteres de origem; start deve preceder current na cadeia de caracteres de origem.current
Ponteiro para qualquer caractere (ou para _mbsdec e _mbsdec_l, o primeiro byte de qualquer caractere de multibyte) na cadeia de caracteres de origem; current deve seguir start na cadeia de caracteres de origem.locale
A localidade usar.
Valor de retorno
_mbsdec, _mbsdec_l, _strdec, e _wcsdec cada retorno um ponteiro para o caractere que precede imediatamente current; _mbsdec retorna NULL se o valor de start é maior ou igual ao de current.mapas de_tcsdec a uma dessas funções e o valor de retorno dependem de mapeamento.
Comentários
Funções de _mbsdec e de _mbsdec_l retornam um ponteiro para o primeiro byte de caracteres de multibyte que precede imediatamente current na cadeia de caracteres que contém start.
O valor de saída é afetado pela configuração da categoria de LC_CTYPE de localidade; consulte setlocale, wsetlocale para mais informações._mbsdec reconhece sequências de multibyte- caractere de acordo com a localidade que está atualmente em uso, quando _mbsdec_l é idêntico exceto que ela em vez disso use o parâmetro de localidade que é passado.Para obter mais informações, consulte Localidade.
Se start ou current são NULL, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, retorna EINVAL dessa função e definem errno a EINVAL.
Observação de segurança |
---|
Essas funções podem ser vulneráveis armazenar em buffer ameaças de estouro.Estouros de buffer podem ser usadas para ataques do sistema como podem causar uma despropositado elevação de privilégio.Para obter mais informações, consulte Evitando estouros de buffer. |
Mapeamentos da rotina de Genérico- texto
Rotina de Tchar.h |
_UNICODE e não definidos _MBCS |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsdec |
_strdec |
_mbsdec |
_wcsdec |
_strdec e _wcsdec são versões de único-byte- caractere e o caractere largo- de _mbsdec e _mbsdec_l._strdec e _wcsdec são fornecidos apenas para esse mapeamento e não devem ser usados de outra forma.
Para obter mais informações, consulte Usando mapeamentos de texto genérico e Mapeamentos de texto genérico.
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 mais informações, consulte Compatibilidadede compatibilidade.
Exemplo
O exemplo a seguir mostra um uso de _tcsdec.
#include <iostream>
#include <tchar.h>
using namespace std;
int main()
{
const TCHAR *str = _T("12345");
cout << "str: " << str << endl;
const TCHAR *str2;
str2 = str + 2;
cout << "str2: " << str2 << endl;
TCHAR *answer;
answer = _tcsdec( str, str2 );
cout << "answer: " << answer << endl;
return (0);
}
O exemplo a seguir mostra um uso de _mbsdec.
#include <iostream>
#include <mbstring.h>
using namespace std;
int main()
{
char *str = "12345";
cout << "str: " << str << endl;
char *str2;
str2 = str + 2;
cout << "str2: " << str2 << endl;
unsigned char *answer;
answer = _mbsdec( reinterpret_cast<unsigned char *>( str ), reinterpret_cast<unsigned char *>( str2 ));
cout << "answer: " << answer << endl;
return (0);
}
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 invocação de plataforma.
Consulte também
Referência
Manipulação de cadeia de caracteres (CRT)
_strinc, _wcsinc, _mbsinc, _mbsinc_l