Ver Mensaje Individual
  #17 (permalink)  
Antiguo 05/06/2003, 11:08
Avatar de Mithrandir
Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 6 meses
Puntos: 25
cierto, puedes tener diferentes configuraciones de mapa de caracteres.

Lo de la función char(valorInt) es obligar a hacer el casting de a caracter, lo cual también debe funcionar, pero es lo mismo que printf("%c",valorInt); si solo usas cout lo deberías intentar.

Ahora una pregunta, lo piensas correr en DOS puro (6.22 para atrás) o en los DOS modernos que ya traen soporte de archivos largos (disco de arranque de win98 en adelante, creo)

Los DOS nuevos usan ANSI, no ASCII.

Ayer hice una prueba con codigo ANSI (o acentuada=162) y compilé el código con TurboC (3.1 para DOS) dentro de win2k. Ahí aparecen los valores en ANSI (y al ejecutar todo se imprime bien).

Luego copié el mismo ejecutable a un disco y arranque con el disco de arranque de win98SE, al ejecutarse imprime todo bien (ANSI), lo que indica que DOS de win98Se usa ANSI también, desafortunadamente perdí mis discos de DOS 6.22 y no lo pude ejecutar ahi.

Por lo que llego a la conclusión:

Si usas una versión de DOS nueva (o la incluida con cmd en windows) no deberías tener problemas, codificas en Win, usas ANSI, aunque el compilador sea basado en ASCII.

Si usas el DOS clásico si tienes que preocuparte por usar ASCII.

Esto es al menos en teoría, si no es así dinos que es lo que pasa, si no te pinta la "o con acento" aunque en win ves otra cosa, que ves?

En windows cambia lo que yo veo y tu ves debido al mapa de caracteres que tenemos cargado cada uno, en ASCII debería ser igual.

Saludos
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche