_strdec, _wcsdec, _mbsdec, _mbsdec_l

Mueve un carácter de reserva una de puntero de la cadena.

Nota importanteImportante

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 de seguridadNota 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

Manipulación de cadenas (CRT)

_strinc, _wcsinc, _mbsinc, _mbsinc_l

_strnextc, _wcsnextc, _mbsnextc, _mbsnextc_l

_strninc, _wcsninc, _mbsninc, _mbsninc_l