Impresión de caracteres Unicode (almacenados en variables) en C
Estoy para imprimir algunosUnicode (4 dígitos hexadecimales) caracteres enC.
Esos personajes los he almacenado en algunaint corto variables El siguiente es el código que debo usar para mi 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;
}
Ahora el problema es:
a pesar de questring2 está mostrando la salida correcta en el terminal,string1 no es
Pero yodebe utilizar el1º Enfoque, es decir, tengo los caracteres Unicode almacenados en algunas variables arbitrarias y necesito una forma de imprimirlos en la pantalla.
Cualquier sugerencia será muy apreciada.