Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/05/2015, 15:20
estebanmong
 
Fecha de Ingreso: mayo-2015
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Respuesta: caracteres Chinos en C++

Cita:
Iniciado por eferion Ver Mensaje
En C++ puro y duro tienes wchar_t*... que es el sustituto de char* para idiomas no ASCII.

Otra opción que puedes usar, y que en mi caso ha funcionado a la perfección, es usar Qt. La clase QString es capaz de manejar diferentes idiomas con soltura.

¿Por qué no puedes usar char*? Pues porque char*, o signed char* usa 7 bits para cada caracter... lo que dan 256 combinaciones. El chino tendrá... cuantos? varios miles de símbolos diferentes?

Un saludo
De verdad muchísimas gracias por responder, sin embargo no me está funcionando, no se si es que lo estoy metiendo mal, hice varias pruebas, te adjunto las 3 pruebas que hice.

1-
#include <iostream>

using namespace std;

wchar_t a = '爸';

main(){
cout<< a;
return (0);
}


2-
#include <iostream>
#include <wchar.h>

using namespace std;

wchar_t a = '爸';

main(){
cout<< a;
return (0);
}

3-
#include <iostream>

using namespace std;

wchar_t a = L'爸';

main(){
cout<< a;
return (0);
}

4- igual que la tres pero con include de wchar.

como no me salió a la primera y para no molestar sin intentar un poco más, me puse a investigar un poco sobre el wchar, en algunos lados decía que incluyera la "L" luego de la llamada al wchar_t y en otros que incluyera la librería que incluí en la prueba 2, evidentemente ninguna de las dos cosas me sirivó, en vez de generarme el caracter, me genera numeros. Además me surge otra duda, en caso de que a una letra le tenga que poner wchar_t a = '爸爸'; (por ejemplo), que sucedería en caso de que todo mi programa deba leerse en mandarín? , que se yo, quizá algo que diga:

#include<iostream>
using namespace std;
main(){
cout<<"你好, 你叫什麼名字?"<<endl;
return (0)
}


En realidad soy bastante nuevo en esto del c++, y en lo poco que llevo no había tenido que hacer algo con caracteres orientales (hasta ahora que me lo propuse), estoy un poco perdido.

De verdad muchas gracias por tu atenta respuesta.