[C] Convertir caracter a decimal

Iniciado por m0rf, 7 Febrero 2012, 17:10 PM

0 Miembros y 1 Visitante están viendo este tema.

m0rf

Bueno pues les explico.

Tengo este codigo:

Código ("c") [Seleccionar]

#include<stdio.h>

main()

{

FILE *archiu;
char caracter;

int count=0;
char nomarch [80];


scanf("%s",nomarch );

archiu = fopen (nomarch,"r");

while (feof(archiu)==0&&count<3)   
{
     
      caracter = fgetc (archiu);
      printf("%c  %ld  %ld\n",caracter,caracter,count)
      count++;
}       
       
}


El problema es que me da de resultado:
-1  byte 1
-2  byte 2
77  byte 3

11111111
11111110-
01001101-77
--------------------------------------------------------------------------------
Escribiendo el post he encontrado el fallo.

Bueno nada lo posteo por si a alguien le sirve.

El fallo es que el char solo reconoce de 0 a 127. Para que funcione se le tiene que declarar con unsigned para que llegue a 255.


Si todos fuéramos igual de inteligentes no existiría la mediocridad porque no podríamos apreciarla. Aprecias la mediocridad?

naderST

Puedes usar atol()


decimal = atol(&caracter);

m0rf

Si todos fuéramos igual de inteligentes no existiría la mediocridad porque no podríamos apreciarla. Aprecias la mediocridad?