_strdec, _wcsdec, _mbsdec, _mbsdec_l
Mueve un carácter de reserva una de puntero de la cadena.
Importante |
---|
mbsdec y mbsdec_l no se pueden utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles 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
);
Parámetros
start
Puntero a cualquier carácter o para _mbsdec y _mbsdec_l, el primer byte de cualquier carácter multibyte) en la cadena de origen; start debe preceder current en la cadena de origen.current
Puntero a cualquier carácter o para _mbsdec y _mbsdec_l, el primer byte de cualquier carácter multibyte) en la cadena de origen; current debe seguir start en la cadena de origen.locale
Configuración regional a utilizar.
Valor devuelto
_mbsdec, _mbsdec_l, _strdec, y _wcsdec cada valor devuelto un puntero al carácter que inmediatamente precede current; _mbsdec devuelve NULL si el valor de start mayor o igual que el de current.los mapas de _tcsdec uno de ellos funcionan y el valor devuelto depende de la asignación.
Comentarios
Las funciones de _mbsdec y de _mbsdec_l devuelven un puntero al primer byte de caracteres multibyte que inmediatamente precede current en la cadena que contiene start.
El valor de salida se ve afectado por el valor de la categoría de LC_CTYPE de configuración regional; vea setlocale, _wsetlocale para obtener más información._mbsdec reconoce secuencias de multibyte- carácter según la configuración regional que está actualmente en uso, mientras que _mbsdec_l es idéntico excepto que en su lugar utiliza el parámetro de configuración regional que se pasa.Para obtener más información, vea Configuración regional.
Si start o current es NULL, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, esta función devuelve EINVAL y establece errno a EINVAL.
Nota sobre la seguridad |
---|
Estas funciones pueden ser vulnerables a amenazas de saturación del búfer.Las saturaciones del búfer se pueden utilizar para ataques del sistema porque pueden producir una elevación de privilegios injustificable.Para obtener más información, vea Para evitar las saturaciones del búfer. |
Asignaciones de la rutina de Genérico- texto
Rutina de Tchar.h |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsdec |
_strdec |
_mbsdec |
_wcsdec |
_strdec y _wcsdec son versiones de solo-byte- carácter y de carácter ancho de _mbsdec y _mbsdec_l._strdec y _wcsdec se proporcionan solo para esta asignación y no deben usarse de otra manera.
Para obtener más información, vea Mediante asignaciones de Genérico- Texto y Asignaciones de Genérico- Texto.
Requisitos
Rutina |
Encabezado necesario |
Encabezado opcional |
---|---|---|
_mbsdec |
<mbstring.h> |
<mbctype.h> |
_mbsdec_l |
<mbstring.h> |
<mbctype.h> |
_strdec |
<tchar.h> |
|
_wcsdec |
<tchar.h> |
|
Para obtener más información de compatibilidad, vea Compatibilidad.
Ejemplo
El ejemplo siguiente se muestra un uso 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);
}
El ejemplo siguiente se muestra un uso 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);
}
Equivalente en .NET Framework
No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
Vea también
Referencia
_strinc, _wcsinc, _mbsinc, _mbsinc_l