Freigeben über


_strdec, _wcsdec, _mbsdec, _mbsdec_l

Befördert ein Zeichen der Zeichenfolgenzeiger-Rückseite eine.

Wichtiger HinweisWichtig

mbsdec und mbsdec_l können in Anwendungen nicht verwendet werden, die in Windows-Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /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 );

Parameter

  • start
    Zeiger auf jedem Zeichen (oder für _mbsdec und _mbsdec_l, das erste Byte eines Mehrbytezeichens) in der Quellzeichenfolge; start muss current in der Quellzeichenfolge vorausgehen.

  • current
    Zeiger auf jedem Zeichen (oder für _mbsdec und _mbsdec_l, das erste Byte eines Mehrbytezeichens) in der Quellzeichenfolge; current muss start in der Quellzeichenfolge folgen.

  • locale
    Zu verwendende Gebietsschema.

Rückgabewert

_mbsdec, _mbsdec_l, _strdec und _wcsdec geben jeweils ein Zeiger auf Zeichen, das unmittelbar current vorausgeht, _mbsdecNULL gibt zurück, wenn der Wert von start größer oder gleich dem von current ist._tcsdec Zuordnungen bis eine dieser Funktionen und ihres Rückgabewerts hängt von der Zuordnung ab.

Hinweise

Die _mbsdec und _mbsdec_l-Funktionen geben einen Zeiger auf das erste Byte des Mehrbytezeichens zurück, das sofort current in der Zeichenfolge vorangeht, die start enthält.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; setlocale, _wsetlocale finden Sie weitere Informationen._mbsdec erkennt Mehrbytezeichensequenzen entsprechend dem Gebietsschema, das gerade verwendet wird, während _mbsdec_l identisch ist, außer dass sie verwendet stattdessen den Gebietsschemaparameter, der übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.

Wenn start oder currentNULL ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, legt gibt EINVAL dieser Funktion und errno zu EINVAL fest.

SicherheitshinweisSicherheitshinweis

Diese Funktionen sind möglicherweise für Pufferüberlaufbedrohungen anfällig.Pufferüberläufe können für Systemangriffe verwendet werden, da sie eine unbefugte Ausweitung seine Berechtigungen ausweitet verursachen können.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.

Zuordnung generische Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcsdec

_strdec

_mbsdec

_wcsdec

_strdec und _wcsdec sind Einzelbytezeichen und Breitzeichenversionen von _mbsdec und _mbsdec_l._strdec und _wcsdec werden nur für diese Zuordnung bereitgestellt und sollten nicht anderweitig verwendet werden.

Weitere Informationen finden Sie unter Verwenden von Zuordnungen für generischen Text und Zuordnungen für generischen Text.

Anforderungen

Routine

Erforderlicher Header

Optionaler Header

_mbsdec

<mbstring.h>

<mbctype.h>

_mbsdec_l

<mbstring.h>

<mbctype.h>

_strdec

<tchar.h>

 

_wcsdec

<tchar.h>

 

Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität.

Beispiel

Im folgenden Beispiel wird eine Verwendung von _tcsdec an.

#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); 
}

Im folgenden Beispiel wird eine Verwendung von _mbsdec an.

#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); 
}

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

_strinc, _wcsinc, _mbsinc, _mbsinc_l

_strnextc, _wcsnextc, _mbsnextc, _mbsnextc_l

_strninc, _wcsninc, _mbsninc, _mbsninc_l