Test Foro de elhacker.net SMF 2.1

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:


int ataque;
ataque=fgetc(stdin);
while(fgetc(stdin) != '\n');
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 (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main(){
  cout << (int) '0' <<endl;
  return 0;
}
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.