_strdec, _wcsdec, _mbsdec, _mbsdec_l
Déplace un pointeur de chaîne d'un caractère en arrière.
Important
mbsdec and mbsdec_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /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
);
Paramètres
start
Pointeur à tout caractère (ou pour _mbsdec et _mbsdec_l, le premier octet de tout caractère multi-octets) dans la chaîne source ; start doit précéder current dans la chaîne source.current
Pointeur à tout caractère (ou pour _mbsdec et _mbsdec_l, le premier octet de tout caractère multi-octets) dans la chaîne source ; current doit suivre start dans la chaîne source.locale
Paramètres régionaux à utiliser.
Valeur de retour
_mbsdec, _mbsdec_l, _strdec, et _wcsdec retournent chacune un pointeur vers le caractère qui précède immédiatement current; _mbsdec retourne NULL si la valeur start est supérieure ou égale à celle d'un current. les cartes d'un_tcsdec à un de ces fonctions et sa valeur de retour dépend du mappage.
Notes
Les fonctions _mbsdec et _mbsdec_l renvoient un pointeur vers le premier octet du caractère multi-octets qui précède immédiatement current dans la chaîne qui contient start.
La valeur de sortie est affectée par le paramètre du paramètre de catégorie LC_CTYPE des paramètres régionaux ; consultez setlocale, _wsetlocale . _mbsdec identifie des séquences de caractères multi-octets d'après les paramètres régionaux qui sont actuellement utilisées, tandis que _mbsdec_l est identique mais il utilise à la place des paramètres régionaux qui sont passés. Pour plus d'informations, consultez Paramètres régionaux.
Si start ou current est NULL, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction renvoie EINVAL et définit errno avec la valeur EINVAL.
Note de sécurité |
---|
Ces fonctions peuvent être vulnérables aux menaces de dépassement de mémoire tampon.Les dépassements de mémoire tampon peuvent être utilisés pour les attaques du système, car ils peuvent provoquer une élévation des privilèges injustifiée.Pour plus d'informations, consultez Solutions contre les dépassements de mémoire tampon. |
Mappages de routines de texte générique
Routine Tchar.h |
_UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsdec |
_strdec |
_mbsdec |
_wcsdec |
_strdec et _wcsdec sont des versions à caractères élargis et à caractères simple-octets de _mbsdec et _mbsdec_l. _strdec et _wcsdec sont fournis uniquement pour ce mappage et ne doivent pas être utilisés sinon.
Pour plus d’informations, consultez Utilisation des mappages de texte générique et Mappages de texte générique.
Configuration requise
Routine |
En-tête requis |
En-tête facultatif |
---|---|---|
_mbsdec |
<mbstring.h> |
<mbctype.h> |
_mbsdec_l |
<mbstring.h> |
<mbctype.h> |
_strdec |
<tchar.h> |
|
_wcsdec |
<tchar.h> |
|
Pour plus d'informations sur la compatibilité, consultez Compatibilité.
Exemple
L'exemple suivant illustre une utilisation 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);
}
L'exemple suivant illustre une utilisation 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);
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.
Voir aussi
Référence
_strinc, _wcsinc, _mbsinc, _mbsinc_l