Título: Representación hexadecimal de las vocales con acento Publicado por: cesariox23 en 24 Mayo 2014, 16:09 pm Estimados señores: Soy un estudiante autodidacta y de nivel principiante del lenguaje C, siempre que he querido mostrar acentos en mis textos lo he hecho de la siguiente manera:
printf("\nN%cmero de cuenta: ", 163); Tenía entendido que también se podía colocar el valor hexadecimal de caracter insertándolo en el mismo texto de la siguiente manera: printf("\nN\xA3mero de cuenta: "); Así lo hice y escribí un programa en donde usé varias veces los valores hexadecimales para mostrar correctamente las letras con acentos y al momento de compilar me sale el siguiente mensaje: warning: secuencia de escape hexadeximal fuera de rango (enabled by default) En el programa que estaba escribiendo tenía como 5 líneas de código con instrucciones printf que usaban estos valores y me salió 5 veces el mensaje arriba expuesto. La tabla que estoy usando es esta: á: \xA0 é: \x82 í: \xA1 ó: \xA2 ú: \xA3 El programa compiló igualmente y al momento de ejecutarlo en donde se supone que debería estar una letra con acento solo hay una línea, algo asi como "N-mero de cuenta: ". Estoy haciendo algo mal? O se requiere algún archivo de cabecera extra? (Hasta ahora solo he usado el stdio.h) De antemano les agradezco cualquier ayuda que puedan brindarme, ah y por cierto, mi entorno donde programo es este: Compilador: gcc 4.8.1-4 (MinGW - www.mingw.org) IDE: Codeblocks svn 9677 (Nightly) S.O: Windows XP SP3 Título: Re: Representación hexadecimal de las vocales con acento Publicado por: leosansan en 24 Mayo 2014, 19:44 pm Por lo que tengo entendido al usar esas secuencias de escape la siguiente letra a dicha secuencia no puede ser un dígito numérico ni letra de la a a la f o el compilador la tomará como parte del hexadecimal y dará el warning que comentas.
Es decir si quieres escribir "tenía"=ten\xA1a como lo que sigue a xA1 es una a se tomará como parte del hexadecimal imprimiendo por ello un caracter no esperado y lanzando el consiguiente warning. ¡¡¡¡ Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif) Título: Re: Representación hexadecimal de las vocales con acento Publicado por: JoelGonzalez en 28 Mayo 2014, 02:08 am Una posible solución a tu problema sería utilizar la secuencia de escape octal, que al igual que la secuencia hexadecimal, te permite imprimir carácteres del ascii extendido en la función printf de esta manera:
Código
El resultado de este código tendría que ser: Código:
Espero haberte ayudado y también espero que sigas aprendiendo más de este interesante lenguaje de programación. Título: Re: Representación hexadecimal de las vocales con acento Publicado por: cesariox23 en 29 Junio 2014, 07:19 am Les agradezco mucho la ayuda prestada, es motivador saber que mis dudas son solventadas por personas con gran conocimiento del tema.
Saludos y éxitos a todos!! |