Export (0) Print
Expand All
Expand Minimize

_mbsdec, _strdec, _wcsdec

Move a string pointer back one character.

unsigned char *_mbsdec(
   const unsigned char *start,
   const unsigned char *current 
);

Parameters

start
Pointer to first byte of any multibyte character in the source string; start must precede current in the source string.
current
Pointer to first byte of any multibyte character in the source string; current must follow start in the source string.

Return Value

_mbsdec, _strdec and _wcsdec each return a pointer to the character that immediately precedes current; _mbsdec returns NULL if the value of start is greater than or equal to that of current. _tcsdec maps to one of these functions and its return value depends on the mapping.

Remarks

The _mbsdec function returns a pointer to the first byte of the multibyte-character that immediately precedes current in the string that contains start. _mbsdec recognizes multibyte-character sequences according to the multibyte code page currently in use.

Security Note    This API incurs a potential threat brought about by a buffer overrun problem. Buffer overrun problems are a frequent method of system attack, resulting in an unwarranted elevation of privilege. For more information, see Avoiding Buffer Overruns.

Generic-Text Routine Mappings

TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined
_tcsdec _strdec _mbsdec _wcsdec

_strdec and _wcsdec are single-byte character and wide-character versions of _mbsdec. _strdec and _wcsdec are provided only for this mapping and should not be used otherwise.

For more information, see Using Generic-Text Mappings and Generic-Text Mappings.

Requirements

Routine Required header Optional headers Compatibility
_mbsdec <mbstring.h> <mbctype.h> Win 98, Win Me, Win NT, Win 2000, Win XP
_strdec <tchar.h>   Win 98, Win Me, Win NT, Win 2000, Win XP
_wcsdec <tchar.h>   Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

The following code snippet shows a use of _tcsdec.

   const TCHAR *str = _T("some text");
   const TCHAR *str2;
   TCHAR *answer;
   str2 = str;
   str2++;
   answer = _tcsdec( str, str2 );

The following code snippet shows a use of _mbsdec.

   char *str = "some text";
   char *str2;
   unsigned char *answer;
   str2 = str; 
   str2++;
   answer = _mbsdec( reinterpret_cast<unsigned char *>( str ), reinterpret_cast<unsigned char *>( str2 ));

See Also

String Manipulation Routines | _mbsinc | _mbsnextc | _mbsninc | Run-Time Routines and .NET Framework Equivalents

Show:
© 2014 Microsoft