_strdec, _wcsdec, _mbsdec, _mbsdec_l
Sposta il puntatore della stringa indietro di un carattere.
Importante
mbsdec e mbsdec_l non possono essere utilizzate nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /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
);
Parametri
start
Puntatore a qualsiasi carattere (o per _mbsdec e _mbsdec_l, il primo byte di un carattere multibyte) nella stringa di origine; start deve precedere current nella stringa di origine.current
Puntatore a qualsiasi carattere (o per _mbsdec e _mbsdec_l, il primo byte di un carattere multibyte) nella stringa di origine; current deve seguire start nella stringa di origine.locale
Impostazioni locali da utilizzare.
Valore restituito
_mbsdec, _mbsdec_l, _strdec e _wcsdec restituiscono un puntatore al carattere che precede immediatamente current; _mbsdec restituisce NULL se il valore start è maggiore o uguale a quello current. _tcsdec mappa una di queste funzioni e il valore restituito dipende dal mapping.
Note
Le funzioni _mbsdec_l e _mbsdec restituiscono un puntatore al primo byte di caratteri multibyte che precede immediatamente current nella stringa contenente start.
Il valore di output è interessato dall'impostazione dell'impostazione di categoria LC_CTYPE delle impostazioni locali; consultare setlocale, _wsetlocale. _mbsdec riconosce le sequenze di caratteri multibyte a seconda delle impostazioni locali che sono attualmente utilizzate, mentre _mbsdec_l è identico con la differenza che utilizza il parametro passato. Per ulteriori informazioni, vedere Impostazioni locali.
Se start o current è NULL, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, questa funzione restituisce EINVAL e imposta errno su EINVAL.
![]() |
---|
Queste funzioni potrebbero essere vulnerabili a rischi di sovraccarico del buffer.I sovraccarichi del buffer possono essere utilizzati per gli attacchi di sistema perché possono causare un'elevazione dei privilegi non autorizzata.Per ulteriori informazioni, vedere Evitare sovraccarichi del buffer. |
Mapping di routine su testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsdec |
_strdec |
_mbsdec |
_wcsdec |
_strdec e _wcsdec sono versioni a caratteri di tipo "wide" e a caratteri a singolo byte di _mbsdec e _mbsdec_l. _strdec e _wcsdec vengono forniti solo per il mapping e in caso contrario non devono essere utilizzati.
Per ulteriori informazioni, vedere Utilizzo di mapping testo generico e Mapping testo generico.
Requisiti
Routine |
Intestazione obbligatoria |
Intestazione facoltativa |
---|---|---|
_mbsdec |
<mbstring.h> |
<mbctype.h> |
_mbsdec_l |
<mbstring.h> |
<mbctype.h> |
_strdec |
<tchar.h> |
|
_wcsdec |
<tchar.h> |
|
Per ulteriori informazioni di compatibilità, vedere Compatibilità.
Esempio
Nell'esempio riportato di seguito viene illustrato un utilizzo di _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);
}
Nell'esempio riportato di seguito viene illustrato un utilizzo di _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);
}
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.
Vedere anche
Riferimenti
_strinc, _wcsinc, _mbsinc, _mbsinc_l