Partager via


_strdec, _wcsdec, _mbsdec, _mbsdec_l

Déplace un caractère de changements d'un pointeur de chaîne.

Important

mbsdec et mbsdec_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans 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 vers un caractère (ou pour _mbsdec et _mbsdec_l, le premier octet de tout caractère multioctet) dans la chaîne source ; start doit précéder current dans la chaîne source.

  • current
    Pointeur vers un caractère (ou pour _mbsdec et _mbsdec_l, le premier octet de tout caractère multioctet) 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 chaque retour un pointeur vers le caractère qui précède immédiatement current; _mbsdec retourne NULL si la valeur d' start est supérieur ou égal à celui d' current.les mappages d'_tcsdec à un de ces fonctions et sa valeur de retour dépend du mappage.

Notes

Les fonctions d' _mbsdec et d' _mbsdec_l retournent un pointeur vers le premier octet de caractères multioctet qui précède immédiatement current dans la chaîne qui contient start.

La valeur de sortie est affectée par la configuration de la définition de catégorie d' LC_CTYPE des paramètres régionaux ; consultez setlocale, _wsetlocale pour plus d'informations._mbsdec identifie les séquences de caractères multioctets en fonction de les paramètres régionaux qui sont actuellement utilisées, tandis que _mbsdec_l identique à ceci près qu'il utilise à la place le paramètre de paramètres régionaux qui est passé.Pour plus d'informations, consultez Paramètres régionaux.

Si start ou current est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, retourne EINVAL de cette fonction et définit errno à EINVAL.

Note de sécurité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 de système car ils peuvent provoquer une élévation de privilège injustifiée.Pour plus d'informations, consultez l' Solutions contre les dépassements de mémoire tampon.

Mappages de routines de texte générique

Routine de Tchar.h

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_tcsdec

_strdec

_mbsdec

_wcsdec

_strdec et _wcsdec sont caractère codé sur un octet et versions à caractères larges d' _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 de compatibilité, consultez Compatibilité.

Exemple

L'exemple suivant illustre l'utilisation d' _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 l'utilisation d' _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

Manipulation de chaînes (CRT)

_strinc, _wcsinc, _mbsinc, _mbsinc_l

_strnextc, _wcsnextc, _mbsnextc, _mbsnextc_l

_strninc, _wcsninc, _mbsninc, _mbsninc_l