Interpretation of multibyte-character sequences

Most multibyte-character routines in the Microsoft run-time library recognize multibyte-character sequences relating to a multibyte code page. The output value is affected by the setting of the LC_CTYPE category setting of the locale. For more information, see setlocale. The versions of these functions without the _l suffix use the current locale for this locale-dependent behavior. The versions with the _l suffix are identical, except they use the locale parameter instead of the current locale.

Locale-dependent multibyte routines

Routine Use
_mbclen, mblen, _mblen_l Validate and return number of bytes in multibyte character
strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l For multibyte character strings: validate each character in string; return string length. For wide character strings: return string length.
mbstowcs, _mbstowcs_l, mbstowcs_s, _mbstowcs_s_l Convert sequence of multibyte characters to corresponding sequence of wide characters
mbtowc, _mbtowc_l Convert multibyte character to corresponding wide character
wcstombs, _wcstombs_l, wcstombs_s, _wcstombs_s_l Convert sequence of wide characters to corresponding sequence of multibyte characters
wctomb, _wctomb_l, wctomb_s, _wctomb_s_l Convert wide character to corresponding multibyte character

Locale-independent multibyte routines

Routine Use
mbrtoc16, mbrtoc32 Convert multibyte UTF-8 character to equivalent UTF-16 or UTF-32 character
c16rtomb, c32rtomb Convert UTF-16 or UTF-32 character to equivalent UTF-8 multibyte character

See also

Universal C runtime routines by category