Ver tema anterior :: Ver siguiente tema |
Autor | Mensaje |
---|
fex
Registrado: 07 Mar 2006 Mensajes: 1
| Publicado: 07/03/2006 5:26 pm | | Título: Problema de caracteres en Dev-C++ |
| hola a todos.... este es mi primer post ya que descubrí hace poco este manual de C y la verdad lo encontré muy bueno....pero vamos al grano:
estoy usando para compilar los ejemplos del curso el Dev-C++, y hasta el momento no he tenido mayores problemas que el raciocinio no pueda solucionar...pero hay uno que, si bien si no es problema de compilación ni nada por el estilo, me tiene inquieto: cuando alguno de los textos de los ejemplos lleva algun tilde metido en alguna palabra el programa muestra un carácter extraño donde debería ir el tilde; si alguien conoce la solución a este problema, estaré muy agradecido...
De antemano, muchas gracias
Francisco |
|
Volver arriba | |
|
rir3760
Registrado: 01 Oct 2004 Mensajes: 4487 Ubicación: Mexico
| Publicado: 08/03/2006 7:32 am | | Título: |
| Eso se debe a que el codigo ASCII consiste solo de 128 caracteres (0 a 127), los otros 128 caracteres (128 a 255) son parte de codigo ASCII "extendido" y por lo mismo como se muestren depende de implementacion que estemos utilizando.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
|
Volver arriba | |
|
digies
Registrado: 18 Nov 2005 Mensajes: 656 Ubicación: Cono Sur
| Publicado: 27/12/2006 2:36 pm | | Título: |
| Hola.
Pues la solución es fácil. Sólo tienes que tener a mano una tabla del código ASCII.
Por ejemplo si quieres imprimir por consola estándar la palabra año la cual lleva una tilde en la 'n' debes hacerlo así:
printf("Ingresa un a\xA4o: ");
Notar que la 'ñ' se reemplaza por '\xA4' que es su equivalente en hexadecimal. Para imprimir una 'á' debes reemplazarla por '\xA0' y así para toda letra que quieras imprimir. Todo carácter que figura en el código ASCII -ya sea extendido o no- puede ser impreso por pantalla de este modo.
Lo que he notado con el Dev-C++4.9.9.2 (y no sé si es un error del propio Dev) es que a veces tira un error de compilación cuando hacemos esto con algún carácter especial. Para solucionarlo definimos esos caracteres arriba del programa de esta manera:
Por ejemplo:
#define N_MINUSCULA_TILDE '\Xa4' #define ACENTO_E_MINUSCULA '\X82' ...
o sino por medio de constantes.
Bueno, espero que esto te sirva. Pruébalo y verás que ya no tendrás más problemas para imprimir todo tipo de carácter ASCCI.
Un saludo |
|
Volver arriba | |
|
|
digies
Registrado: 18 Nov 2005 Mensajes: 656 Ubicación: Cono Sur
| Publicado: 23/11/2007 4:04 pm | | Título: |
| Tabla ASCII pedido por un usuario: [Hubiera sido más fácil si lo preguntaras aquí mismo ]
Para buscar y ver tablas ASCII (extendidas o no) en Google, solo tienes que buscarlas como "Tabla ASCII" ---> Clik en "Imágenes" ---> "Búsqueda de imágenes" y te aparecerá una lista gráfica de ellas.
Si en la tabla no figura el número en hexadecimal de los caracteres pero sí en decimal, solo debes hacer dicha conversión con la calculadora de Windows (o con cualquier otra calculadoras científica que posea esa funcionalidad): Calculadora ---> Ver ---> Científica ---> Clik en Dec ---> tu_nro_decimal ---> Clik en Hex --->Resultado: el_equiv_en_hexadecimal.
Un saludo |
|
Volver arriba | |
|
|
|