_strdec, _wcsdec, _mbsdec, _mbsdec_l
Befördert ein Zeichen der Zeichenfolgenzeiger-Rückseite eine.
Wichtig |
---|
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.
Sicherheitshinweis |
---|
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