Imprimindo caracteres Unicode (armazenados em variáveis) em C
Eu estou para imprimir algunsunicode (4 dígitos hexadecimais) caracteresC.
Esses personagens que eu guardei em algunsint curto variáveis. O seguinte é o código que devo usar para o meu propósito:
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
int main(void) {
setlocale(LC_ALL,"");
short a = 0x099A, b = 0x09BE;
wchar_t *string1 = (wchar_t *) calloc(20, sizeof(wchar_t));
sprintf(string1, "\\u%04x\\u%04x", a, b);
printf(" %s ", string1);
wchar_t *string2 = (wchar_t *) calloc(20, sizeof(wchar_t));
strcpy(string2, (wchar_t *) "\u099A\u09BE");
printf(" %s \n", string2);
return 0;
}
Agora o problema é:
Apesarstring2 está mostrando a saída do corect no terminal,string1 não é.
Mas eudevo use o1º abordagem, ou seja, eu tenho os caracteres unicode armazenados em algumas variáveis arbitrárias e eu preciso de uma maneira de obtê-los impressos na tela.
Qualquer sugestão será muito apreciada.