jun 18, 2009

Enviado por en Programacion

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

    1. Es tan largo como lo que dura un peo en un chinchorro xD… Pero lo bueno, es que es pequeño pero interezante… JAJAJAJ SONO GAY =*

      Usando Unknown Unknown en Unknown Unknown
    2. aunq para mi seria mas facil el __atoi usando sstream algo asi

      #include
      #include
      using namespace std;

      int __atoi(string number){
      int outp;
      istringstream tmp;
      tmp.str(number);
      tmp >> outp;
      return outp;
      }

      Usando Unknown Unknown en Unknown Unknown

    Menciones/Notificaciones

    1. Click Here - with blogger. their interface is newbie friendly,... it's a plug and play operation, you can add google adsense onto the blog, ...
    2. postcard printing online canada - because of the unique spin its writers... put on that content.don't be afraid of writing more informally, or more unusually, in ...

    Dejar una respuesta

    Debes ser Alojarse para enviar un comentario.