[C con Clase] Problema al escribir en un archivo valores int superiores a 9
Programante
programante en gmail.com
Sab Nov 24 16:43:12 CET 2007
Akio escribió:
> Bueno, a base de hacer pruebas me he fijado que el tema viene a que sprintf me passa los ints a caràcter, de forma que cuando me meustra bien del 0 al 9, en realidad esta usando los numeros del 48 al 57 (ascii).
>
> Entonces ahora necesitaria una forma de escribir en el fichero los numeros mayores a 9, para que en lugar de aparecerme : ; < = > me aparezca 10 11 12 13 14
La familia de funciones printf trata perfectamente los números mayores.
El problema es que tú les estás pidiendo que te imprima un caracter (%c)
con ese código ascii, en lugar de un número (%d).
Cambia sprintf(hola,"%1c",i); y sprintf(hola,"%5c",i); por
sprintf(hola,"%d",i); y sprintf(hola,"%5d",i);
Más información sobre la lista de distribución Cconclase