void main(){wchar_t * data;union_type my_union;data=NULL;data=new wchar_t[50];my_union.a=data;{wchar_t * data=my_union.b;{wchar_t dest[100];wmemset(dest, L'C', 100-1);memmove(dest, data, wcslen(dest)*sizeof(wchar_t));dest[100-1]=L'\0';printWLine(dest);delete [] data;}}}
static void main(){wchar_t * data;union_type my_union;data=NULL;data=new wchar_t[100];my_union.a=data;{wchar_t * data=my_union.b;{wchar_t dest[100];wmemset(dest, L'C', 100-1);memmove(dest, data, wcslen(dest)*sizeof(wchar_t));dest[100-1]=L'\0';printWLine(dest);delete [] data;}}}