UTNianos

Versión completa: Tildes en compilador de C++
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola, estoy empezando a programar un poco en C y uso actualmente el compilador Borland C++ 5.02, y tengo el siguiente problema, cuando quiero imprimir por pantalla un caracter con tilde (á,é,..etc) en la ejecución me escribe otro caracter extraño.. no se si será un problema de este compilador, si alguien tiene idea de como solucionarlo, le estaré muy agradecido...
o si no recomiendenme algun otro compilador más piola :D

graciassss
Y..u ahh,ehh,MHHH,usa Eclipse.Por lo que me comentaron,se la banca bastante.
http://www.eclipse.org/downloads/.
estas en güindows? usa dev c++.
eclipse es un bardo configurarlo para que ande realmente bien, ademas es una ide pensada para java.
el borland c++ se quedo en el dos =P =P
jarry escribió:estas en güindows? usa dev c++.
eclipse es un bardo configurarlo para que ande realmente bien, ademas es una ide pensada para java.
el borland c++ se quedo en el dos :P :P

si.. tambien use el dev c++ pero tenia el problema de que no funcaba la funcion gotoxy... :S
y eso con que se come?
te fijaste los encabezados(.h's)? probablemente te falte alguno.
Problema resuelto.. aparentemente no soy el unico que tenia ese problema con Dev C++, para que funcione gotoxy tuve que bajar un header llamado "conio2.h", ya que con el comun (conio.h) no funcionaba...

graciaas
no será el viejo problema de compatibilidad entre los distintos "standares" ASCII? probá de armar una función que te imprima en pantalla los 256 caracteres, cada uno con su numero al lado, para ver qué código tenés que pedirle que imprima...


por ejemplo, puede pasar que lo que tu editor de texto entiende como la "á", para el compilador ese mismo byte signifique otro caracter, porque usa un ASCII distinto...


me expliqué?
Desert69 escribió:no será el viejo problema de compatibilidad entre los distintos "standares" ASCII? probá de armar una función que te imprima en pantalla los 256 caracteres, cada uno con su numero al lado, para ver qué código tenés que pedirle que imprima...


por ejemplo, puede pasar que lo que tu editor de texto entiende como la "á", para el compilador ese mismo byte signifique otro caracter, porque usa un ASCII distinto...


me expliqué?


si, entendo lo que decis, y de hecho ya lo hice... y lo que paso es esto:
si hago


int c = 160;
putch©;



160 es el codigo ascii de la 'á'
me imprime bien "á", al igual que si pongo printf("%c",c);

pero si hago

int c = 'á';
printf("%c = %i",c,c);


me imprime

ß = 225



o sea que no me reconoce bien los caracteres con tilde ni la eñe cuando hago una asignacion de este tipo:

c = 'á'; ó strcpy(cadena,"salón");


exacto... porque para el compilador, la "á" de tu código fuente es el numero que corresponde a la beta...

solución: hacé un programita que te escriba la "á" del compilador (lo de "int c = 160; putch©;") en un archivo de texto. cuando lo levantes con el editor de codigo fuentes que estás usando vas a ver un caracter horriblemente deforme... aprendé a generarlo con el teclado, y voilá! =D
tu problema es la codificación como dijeron arriba, para que salgan los asentos y la ñ necesitas encodearlo a utf-8, sino te salen esos caracteres raros que vos decis.......Saludos
Probaste con setlocale() ?

Por ejemplo, si tenes el sistema operativo en castellano, llamando a setlocale(LC_ALL, "");
creo que ya te imprime bien.
En caso de tenerlo en otro idioma ni idea, pero creo que depende del segundo parametro.

Saludos.
URLs de referencia