Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: snake_linux en 27 Agosto 2015, 01:48 am



Título: ¿ Cómo funciona este código que pasa de char a int ?
Publicado por: snake_linux en 27 Agosto 2015, 01:48 am
Buenas, tengo el siguiente código, donde necesitaba convertir un char (no un array, solo un caracter) en un int, y en internet encontré el siguiente método:

Código
  1. int ataque;
  2. ataque=fgetc(stdin);
  3. while(fgetc(stdin) != '\n');
  4. ataque=ataque-48;

El caso es que funciona perfectamente, pero no se por que al restarle 48 al char me devuelve ese int, he estado buscando información pero no me ha quedado claro, y aunque funcione, me gustaría saber por que funciona.

Gracias de antemano.

Saludos.


Título: Re: ¿ Cómo funciona este código que pasa de char a int ?
Publicado por: engel lex en 27 Agosto 2015, 06:15 am
simple... que numero en decimal representa al '0' en ascii?

(http://www.infoaplicaciones.com/imagenes/finfoaplicaciones.com-WEB-INFOAP_imagenes_tabla_codigo_ascii_ia_1000.jpg)

o mejor escribe este código

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.  cout << (int) '0' <<endl;
  6.  return 0;
  7. }


Título: Re: ¿ Cómo funciona este código que pasa de char a int ?
Publicado por: snake_linux en 27 Agosto 2015, 10:23 am
Gracias, ya me ha quedado claro.