_strdec, _wcsdec, _mbsdec, _mbsdec_l
Přesune zpět jeden znak řetězec ukazatele.
Důležité |
---|
mbsdeca mbsdec_l nelze použít v aplikacích, které jsou spuštěny v Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /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
);
Parametry
start
Ukazatel na libovolný znak (nebo pro _mbsdec ambsdec_l, první bajt všechny vícebajtové znakové) ve zdrojovém řetězci; startmusí předcházet current ve zdrojovém řetězci.current
Ukazatel na libovolný znak (nebo pro _mbsdec ambsdec_l, první bajt všechny vícebajtové znakové) ve zdrojovém řetězci; currentPostupujte podle start ve zdrojovém řetězci.locale
Chcete-li národní prostředí pro použití.
Vrácená hodnota
_mbsdec, _mbsdec_l, _strdec, a _wcsdec každý vrací ukazatel na znak, který bezprostředně předchází current; _mbsdecVrátí NULL -li hodnota start je větší než nebo rovna částce current._tcsdecmapování na jednu z těchto funkcí a její vrácená hodnota závisí na mapování.
Poznámky
_mbsdec a _mbsdec_l funkce vrací ukazatel na první bajt vícebajtových znaků, který bezprostředně předchází current v řetězci, který obsahuje start.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale _wsetlocale Další informace._mbsdecrozpozná vícebajtové znakové sekvence podle národního prostředí, který je právě používán, zatímco _mbsdec_l je totožný s tím rozdílem, že místo toho používá parametr locale, který je předán v.Další informace naleznete v tématu Národní prostředí.
Pokud start nebo current je NULL, je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů.Pokud je povoleno zpracování, chcete-li pokračovat, tato funkce vrací EINVAL a errno na EINVAL.
Poznámka k zabezpečení |
---|
Tyto funkce může být zranitelný vůči hrozbám přetečení vyrovnávací paměti.Přeběhy vyrovnávací paměti lze použít pro napadení systému, protože mohou způsobit, že bude vyplacena neoprávněně zvýšení úrovně oprávnění.Další informace naleznete v tématu Zamezení způsobí přetečení vyrovnávací paměti. |
Mapování rutiny obecného textu
Byla zahájena rutina Tchar.h |
_UNICODE a _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_tcsdec |
_strdec |
_mbsdec |
_wcsdec |
_strdeca _wcsdec jsou jeden bajt znak a širokého znaku verze _mbsdec a _mbsdec_l._strdeca _wcsdec jsou k dispozici pouze pro toto mapování a by neměly být použity jinak.
Další informace naleznete v tématu Použití mapování Generic Text a Mapování Generic Text.
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_mbsdec |
<mbstring.h> |
<mbctype.h> |
_mbsdec_l |
<mbstring.h> |
<mbctype.h> |
_strdec |
<tchar.h> |
|
_wcsdec |
<tchar.h> |
|
Další informace o kompatibilitě v tématu Kompatibilita.
Příklad
Následující příklad ukazuje použití _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);
}
Následující příklad ukazuje použití _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);
}
Ekvivalent v rozhraní .NET Framework
Nelze použít Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Příklady volání funkce platformy.
Viz také
Referenční dokumentace
_strinc, _wcsinc, _mbsinc, _mbsinc_l