We recommend using Visual Studio 2017

_strinc, _wcsinc, _mbsinc, _mbsinc_l


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at _strinc, _wcsinc, _mbsinc, _mbsinc_l.

Advances a string pointer by one character.

System_CAPS_ICON_important.jpg Important

_mbsinc and _mbsinc_l cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW.

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


Character pointer.

Locale to use.

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 that's currently in use; _mbsinc_l is identical except that it instead uses the locale parameter that's passed in. 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.

System_CAPS_ICON_important.jpg Important

These functions might be vulnerable to buffer overrun threats. Buffer overruns can be used for system attacks because they can cause an unwarranted elevation of privilege. For more information, see Avoiding Buffer Overruns.

RoutineRequired header

For more compatibility information, see Compatibility.

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

String Manipulation
_strdec, _wcsdec, _mbsdec, _mbsdec_l
_strnextc, _wcsnextc, _mbsnextc, _mbsnextc_l
_strninc, _wcsninc, _mbsninc, _mbsninc_l