Como convertir una cadena a int? |
|
|
|
Escrito por adrianvaca
|
Martes, 22 de Marzo de 2011 23:53 |
Para convertir una cadena a un entero lo más fácil es usar la función atoi definida en stdlib.h por ejemplo:
char *cadena = "4856"; int num = atoi(cadena); |
Pero si no queremos dicha función podemos construir nuestra propia función, para tener algo como:
char *cadena = "4856"; int num = convertir_entero(cadena); |
Usamos la función convertir_entero, cuyo código es el siguiente:
int longitud(char *cadena) { int valor = 0; int i;
for(i=0; cadena[ i ]!='\0'; i++) valor++;
return valor; }
int convertir_entero(char *cadena) { int potencias[5]={1,10,100,1000,10000}; int i; int valor = 0; int lon = longitud(cadena);
for(i=lon-1; i>=0; i--) valor += (cadena[ i ]-'0') * potencias[ lon-i-1 ];
return valor; } |
|