#include <stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE 128
int main(void)
{
char* pMBBuffer = (char*)malloc(BUFFER_SIZE); // multibyte character buffer
const wchar_t* pWCBuffer = L"abcdefg...";
size_t i;
/*
wcstombs_s(
size_t* _PtNumOfCharConverted,
char* _Dst,
size_t _DstSizeInBytes,
wchar_t const* _Src,
size_t _MaxCountInBytes
);
*/
// -1 for NULL
wcstombs_s(&i, pMBBuffer, (size_t)BUFFER_SIZE, pWCBuffer, (size_t)BUFFER_SIZE - 1);
printf("Characters converted: %zu\n", i);
printf("Multibyte character: %s\n\n", pMBBuffer);
free(pMBBuffer);
return 0;
}
/*
run:
Characters converted: 11
Multibyte character: abcdefg...
*/