_mbsinc, _mbsinc_l, _strinc, _wcsinc

Advances a string pointer by one character.

unsigned char *_mbsinc(
   const unsigned char *current 
unsigned char *_mbsinc(
   const unsigned char *current,
   _locale_t locale
char *_strinc(
   const char *current,
   _locale_t locale
wchar_t *_wcsinc(
   const wchar_t *current,
   _locale_t locale


  • current
    Character pointer.

  • locale
    Locale to use.

Return Value

Each of these routines returns a pointer to the character that immediately follows current.


The _mbsinc function returns a pointer to the first byte of the multibyte character that immediately follows current. _mbsinc recognizes multibyte-character sequences according to the multibyte code page currently in use, while _mbsinc_l is identical except that it uses the locale parameter passed in instead. For more information, see Locale.

The generic-text function _tcsinc, defined in Tchar.h, maps to _mbsinc if _MBCS has been defined or to _wcsinc if _UNICODE has been defined. Otherwise _tcsinc maps to _strinc. _strinc and _wcsinc are single-byte character and wide-character versions of _mbsinc. _strinc and _wcsinc are provided only for this mapping and should not be used otherwise. For more information, see Using Generic-Text Mappings and Generic-Text Mappings.

If current is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. If execution is allowed to continue, this function returns EINVAL and sets errno to EINVAL.

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.



Required header









For more compatibility information, see Compatibility in the Introduction.

.NET Framework Equivalent

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

See Also


String Manipulation (CRT)

_mbsdec, _mbsdec_l, _strdec, _wcsdec

_mbsnextc, _mbsnextc_l, _strnextc, _wcsnextc

_mbsninc, _mbsninc_l, _strninc, _wcsninc