_strdec, _wcsdec, _mbsdec, _mbsdec_l
Přesune ukazatel řetězce zpět o jeden znak.
Důležité |
---|
mbsdec a mbsdec_l nelze použít v aplikacích, které jsou spouštěny v prostředí 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 a _mbsdec_l první bajt libovolného vícebajtového znaku) ve zdrojovém řetězci; start musí předcházet current ve zdrojovém řetězci.current
Ukazatel na libovolný znak (nebo pro _mbsdec a _mbsdec_l první bajt libovolného vícebajtového znaku) ve zdrojovém řetězci; current musí následovat po start ve zdrojovém řetězci.locale
Použité národní prostředí.
Vrácená hodnota
_mbsdec, _mbsdec_l, _strdec a _wcsdec vrátí ukazatel na znak, který přímo předchází current; _mbsdec vrátí NULL, pokud hodnota start je větší než nebo rovna hodnotě current._tcsdec mapuje na jednu z těchto funkcí a vrácená hodnota závisí na mapování.
Poznámky
Funkce _mbsdec a _mbsdec_l vrací ukazatel na první bajtu vícebajtového znaku, která bezprostředně předchází current v řetězci, který obsahuje start.
Výstupní hodnota je ovlivněna nastavením kategorie LC_CTYPE národního prostředí; viz setlocale, _wsetlocale pro další informace. _mbsdec rozpozná vícebajtové znakové sekvence podle národního prostředí, které je právě používáno, zatímco _mbsdec_l je identická s tím rozdílem, že místo používá parametr národního prostředí, který je předán.Další informace naleznete v tématu Národní prostředí.
Pokud start nebo current je NULL, je vyvolána obslužná rutina neplatné parametru, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, tato funkce vrátí EINVAL a nastaví errno na EINVAL.
Poznámka k zabezpečení |
---|
Tyto funkce by mohly být vystaveny ohrožení přetečení vyrovnávací paměti.Přetečení zásobníku lze použít pro systémové útoky, protože mohou způsobit neoprávněné zvýšení úrovně oprávnění.Další informace naleznete v tématu Předcházení přetečení vyrovnávací paměti. |
Rutinní mapování obecného textu
Rutina Tchar.h |
_UNICODE a _MBCS nejsou definovány |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcsdec |
_strdec |
_mbsdec |
_wcsdec |
_strdec a _wcsdec jsou verze jednobajtového znaku a širokoznaká verze _mbsdec a _mbsdec_l._strdec a _wcsdec jsou k dispozici pouze pro toto mapování a neměly by být použity jinak.
Další informace naleznete v tématu Použití mapování obecného textu a Mapování obecného textu.
Požadavky
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ě naleznete 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. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.
Viz také
Referenční dokumentace
_strinc, _wcsinc, _mbsinc, _mbsinc_l