Converts a wide character to the corresponding multibyte character
int wctomb(
char *mbchar,
wchar_t wchar
);
errno_t wctomb_s(
int *pRetValue, //[out]The number of bytes, or a code indicating the result.
char *mbchar, //[out]The address of a multibyte character.
size_t sizeInBytes, //Size of the buffer mbchar. MB_CUR_MAX
wchar_t wchar //A wide character.
);
errno_t _wctomb_s_l(
int *pRetValue,
char *mbchar,
size_t sizeInBytes,
wchar_t wchar,
_locale_t locale //The locale to use.
);
Converts a sequence of wide characters to a corresponding sequence of multibyte characters
size_t wcstombs(
char *mbstr,
const wchar_t *wcstr,
size_t count //The maximum number of bytes to be stored in the mbstr buffer, or _TRUNCATE.
);
errno_t wcstombs_s(
size_t *pReturnValue,
char *mbstr,
size_t sizeInBytes,
const wchar_t *wcstr,
size_t count
);
errno_t _wcstombs_s_l(
size_t *pReturnValue,
char *mbstr,
size_t sizeInBytes,
const wchar_t *wcstr,
size_t count,
_locale_t locale
);
template <size_t size>
size_t wcstombs(
char (&mbstr)[size],
const wchar_t *wcstr,
size_t count
); // C++ only
template <size_t size>
errno_t wcstombs_s(
size_t *pReturnValue,
char (&mbstr)[size],
const wchar_t *wcstr,
size_t count
); // C++ only
template <size_t size>
errno_t _wcstombs_s_l(
size_t *pReturnValue,
char (&mbstr)[size],
const wchar_t *wcstr,
size_t count,
_locale_t locale
); // C++ only
errno_t err_ret;
wchar_t wcl = L'l';
char cl;
int nsize;
err_ret = wctomb_s(&nsize, &cl, MB_CUR_MAX ,wcl);
wchar_t *wcs = L"test";
char cs[10];
size_t size;
err_ret = wcstombs_s(&size, cs, 10, wcs, 10);
wcs = L"test2";
const size_t SIZE = 10;
err_ret = wcstombs_s<SIZE>(&size, cs, wcs, 10);