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.
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
#include <iostream>
using namespace std;
int main(){
cout << (int) '0' <<endl;
return 0;
}
Gracias, ya me ha quedado claro.