Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Idioma De Texto En Consola

Iniciado por Warchief, 25 de Marzo de 2005, 06:43:11 PM

« anterior - próximo »

Warchief

 Pues el título lo dice todo, pero detallo. Al poner:

if(ERRORES) printf("\nError semántico (recuperado léxico): cantidad insuficiente (%d)\n", valor);

lo que me sale realmente por consola es:

Error semßntico (recuperado lÚxico): cantidad insuficiente (123)


Sin embargo, al escribir directamente en consola (cmd), sí puedo poner tíldes, ñ, etc.
Hay que tocar algo especial en mi programa o en el IDE(MSVC)? :blink:

Gracias.

gdl

 Problema de la codificación de caracteres. El compilador usa la codificación de Windows y la consola la de DOS. Tienes dos soluciones (que sepa seguro que te van a funcionar)

- Escribir los mensajes en codificación DOS (aunque no los veas en el compilador bien)
- Traducir de alguna forma (creo recordar que había unas funciones del Win32 que lo hacía) de una codificación a la otra.

No sé si podrás hacer que el compilador use otro sistema o intentarlo con UNICODE directamente...  <_<  

Warchief

 Uhm necesito que sea multiplataforma (desarrollo en win, uso en linux) y también para parsear (es compilador). Porque al meter "á" tampoco me lo reconoce como "á" y falla el scanner del léxico.

Tendré que hacer la opción 1 si no hay más? (o esperarme a linux para esos detalles).

ALRAZ

 otra opción es no usar caracteres especial  :P  

gdl

 Si quieres que sea multiplataforma la cosa se complica.  <_<

La única solución que veo es que tengas tus propias tablas y hagas la conversión para cada plataforma. ¿Que detectas DOS? usas la tabla del DOS. ¿Que detectas Linux? Usas la tabla del Linux.

De todas las maneras.... creo recuerdar vagamente que Linux usa UTF-8 y es un sistema multibyte. Tendrás que usar tablas multibyte en algunos casos. (grrr)

Otra idea es encapsular todas las funciones de traducción de cada plataforma en una sola que te convierta de UNICODE al formato nativo.


Warchief

 Uhm, habré de esperar a linux pues XD

Por ssh, en linux funciona perfectamente, tendré que desarrollar de cabeza y probar depués todo en linux.

Pensé que era más fácil configurar el idioma para un programa en windows.

Gracias por las ideas.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.