_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.


_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.

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 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.


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.


Routine Required header
_mbsinc <mbstring.h>
_mbsinc_l <mbstring.h>
_strinc <tchar.h>
_wcsinc <tchar.h>

For more compatibility information, see Compatibility.

.NET Framework Equivalent

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

See Also

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