Hi,
I am trying to render some chinese strings on an OLED display. For this I would like to concatenate some strings using swprintf.
But when the replacement string contains wide characters, it does not work.
wchar_t* name = L"约翰";
wchar_t sentence[24] = {};
swprintf(sentence, 24, L"Hi my name is %ls", name);
// Produces -> "Hi my name is "
On the other hand if I concatenate like this, it works.
wchar_t* name = L"约翰";
wchar_t sentence[24] = {};
wcscat(sentence, "Hi my name is ");
wcscat(sentence, name);
// Produces -> "Hi my name is 约翰"
I noticed that there is an option in SEGGER studio to enable wide character support for printf/scanf.

But when I try to enable it I always get this error:
"/Applications/SEGGER Embedded Studio for ARM 4.16/gcc/arm-none-eabi/bin/ld:--defsym:1: undefined symbol `__vfprintf_short_float_long_wchar' referenced in expression"
![]()
Is there any way to get it to work?
Thanks!