itoa y atoi

Buenas.
Ya de alguna ocasión Llyn hablo sobre una de estas funciones, aca lo que traigo es una pequeña implentación que hice de ambas trabajando directamente con strings (std::string) y pues es un ejemplo también claro de como convertir enteros a cadenas y viceversa
Bueno sin mas largas dejo el código, requiere usar dos liberias que si bien son sustituibles facilmente pues por mi comodidad las dejo así

#include <algorithm>
#include <cmath>

using namespace std;

string __itoa(int number)
{
	string ret = "";

	for(; number > 0; number -= number % 10, number /= 10)
		ret += (char)((number%10) + 0x30);

	reverse(ret.begin(), ret.end());

	return ret;
}

int __atoi(string number)
{
	int ret = 0;

	for(int i = 0, j = number.length() - 1; number[i] != '\0'; ++i, --j)
		ret += (number[i] - 0x30) * pow(10, (static_cast<double> (j)));

	return ret;
}

saludos, espero que sea util

    Posts Relacionados

    4 Comentarios en “itoa y atoi”

    1. avatar
      FeCr_88 22 junio 2009 at 3:08 pm #

      Ademas.. Se que hacer pornos es dificil. Pero intenta explicar porque las funciones funcionan para saber funcionar las funciones -.-’. xD…

      Usando Unknown Unknown en Unknown Unknown
    2. avatar
      b@cHo 19 junio 2009 at 4:01 pm #

      como siempre :P (broma)

      Usando Unknown Unknown en Unknown Unknown

    Deja un comentario

    Tienes que estar logueado para escribir un comentario.