• Lunes 16 de Diciembre de 2024, 21:55

Autor Tema:  Caracter Especial  (Leído 1788 veces)

jochumi

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Caracter Especial
« en: Martes 5 de Abril de 2005, 12:07 »
0
Hola a todos,

estoy escribiendo un programita en C y necesitaria escribir en un fichero de texto el caracter č.  El codigo ascii es el 232 pero cuando hago el printf del 232 me sale otro caracter diferente.  Alguien puede ayudarme?

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Caracter Especial
« Respuesta #1 en: Martes 5 de Abril de 2005, 15:39 »
0
Con el comando toascii conviertes un entero a caracter, sintaxis:
c=toascii(entero);
El pasado son solo recuerdos, el futuro son solo sueños

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Caracter Especial
« Respuesta #2 en: Martes 5 de Abril de 2005, 15:44 »
0
te sale este caracter supongo:  Þ este es el ASCII 232 pruebalo:Þ ves?

eso en la tabla de acarcteres que usa tu sistema.

es probable que te funcione con el ASCII 63 pruebalo y nos cuentas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

jochumi

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Caracter Especial
« Respuesta #3 en: Martes 5 de Abril de 2005, 15:52 »
0
Gracias por las respuestas... El sistema es UNIX (maquina SUN), como puedo saber que tabla de caracteres (codigos) esta empleando?

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Caracter Especial
« Respuesta #4 en: Martes 5 de Abril de 2005, 17:49 »
0
Hola, que tal.

Si estas usando un sistema Unix, debes usar el Unicode, busca en la red que numero lo corresponde al caracter que deseas mostrar hay paginas con algunas tablas, y si no puedes probar haciendo un programa que te imprima los caracteres.

Hasta luego.

jochumi

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Caracter Especial
« Respuesta #5 en: Martes 5 de Abril de 2005, 18:22 »
0
GRACIAS!!! he encontrado el unicode para este char y es el U+010D , mi duda es ahora como lo escribo en un fichero con una funcion en C?????  Sugerencias...

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Re: Caracter Especial
« Respuesta #6 en: Martes 5 de Abril de 2005, 20:45 »
0
Si quieres un fichero con tus caracteres ASCII puedes hacer lo siguiente:
abrir un fichero y escribir en él todos los caracteres junto con su código decimal, luego lo imprimes y así ya lo tienes para la sigte vez: :D
Código: Text
  1.  
  2. #include <stdio.h>
  3. void main()
  4. {
  5. FILE *pf;
  6. int i;
  7.  
  8. if((pf=fopen("C:\\ascii.txt","w"))==NULL)
  9. {
  10. printf("\n\a\tNo se puede abrir el archivo.");
  11. exit(-1);
  12. }
  13. fprintf("Valor decimal:\tCaracter ASCII:");
  14. for (i=0;i<256;i++)
  15. fprintf(pf,"\n%d\t%c",i,i);
  16.  
  17. fclose(pf);
  18. }
  19.  
  20.  
Y ya está, ya tienes todos los códigos en c:\ascii.txt, para que lo imprimas y lo uses la próxima vez.
Un saludo. :smartass:
No hay tonto más molesto que el ingenioso.