Buenas!
Por mas que busco no encuentro el nombre de la funcion que cambia de letras a valores ASCII (A = 65 por ejemplo), alguien me podria hechar una mano?
Gracias! ;D
Hola!!
No hace falta ninguna función, puedes hacer un casting:
int main() {
char c;
int i;
c = getchar();
i = (int)c;
printf("Valor numérico de %c es %i", c, i);
return 0;
Saludos
Es la funcion toascii de la libreria <ctype.h>
http://c.conclase.net/librerias/?ansimac=toascii
Saludos
Es que no es necesaria una función para lo que pides.Para eso normalmente se imprime el carácter directamente como entero.
Ejemplo:
#include <stdio.h>
int main ( int argc, char**argv)
{
char letra = 'A'; //Letra A mayúscula que es 65 en decimal.
printf("La letra imprimida como caracter es: %c\n",letra);//Aquí el especificador de formato es %c de carácter.
printf("La letra imprimida como su valor ASCII en sistema decimal es: %d", letra); //Aquí el especificador de formato es %d de decimal.
return 0;
}
PD: Ni siquiera hace falta un casting (conversión) como dice Satu , podrías asignar el valor de un carácter a un entero sin problema alguno de esta manera:
char letra = 'A';
int letraValor = letra; //No es necesario un casting ya que un char es un entero de 1 byte.
¡Buenas!
No te hace falta ninguna funcion. Un char es un valor entero entre -128 y 127, y un unsigned char un valor entre 0 y 255.
Si tienes la letra 'A' puedes asignarsela a un entero tal cual, sin ningun problema o si quieres saber el ascii lo imprimes con %d en lugar de %c. En C++ para imprimir el valor numero tendras que hacer cast a char o unsigned char.
¡Saludos!
P.D: Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Muchas gracias por responder pero aunque se pueda hacer sin funcion queria saber de su existecia y me ha quedado claro con la funcion toascii se puede de todas maneras gracias
Solo agregar que la función "toascii" no es parte de la biblioteca estándar de C.
Un saludo