Cool C/C++

Programacion en C/C++

Home FAQ Como convertir una cadena a int?
Como convertir una cadena a int? PDF Imprimir E-mail
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;
}
 
Otros artículos

Escribir un comentario


Código de seguridad
Refescar