Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: m0rf en 7 Febrero 2012, 17:10 PM

Título: [C] Convertir caracter a decimal
Publicado por: m0rf en 7 Febrero 2012, 17:10 PM
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.


Título: Re: [C] Convertir caracter a decimal
Publicado por: naderST en 7 Febrero 2012, 17:25 PM
Puedes usar atol()


decimal = atol(&caracter);
Título: Re: [C] Convertir caracter a decimal
Publicado por: m0rf en 7 Febrero 2012, 18:03 PM
Cita de: naderST en  7 Febrero 2012, 17:25 PM
Puedes usar atol()


decimal = atol(&caracter);

Gracias por el dato.