Alex Sobrino

Blog personal...

itoa, una sencilla implementación

jander | 21 Febrero, 2007 07:26 | del.icio.us meneame.net technorati.com

La gran mayorí­a de las personas que programen en C conocerán la función atoi de la librerí­a stdlib que pasa un string a integer. Sin embargo, para la práctica de Laboratorio de Sistemas, el año pasado tení­amos que implementar la función contraria, itoa, y por si fuera poco, que tuviera soporte para trabajar con distintas bases. Navegando por Internet, descubrimos un código bastante decente, pero que con algunos números no presentaba un resultado correcto. Así que... si algo no funciona, mejóralo. Aquí­ está el resultado:

char *itoa (int val, int base)
{
    static char buf[32] = {0};
    int i = 30;
    if (val == 0)
        return "0";
    for(;val&&i;--i,val/=base)
        buf[i] = "0123456789ABCDEF"[val % base];
    return &buf[i+1];
}

Comentarios

 

Body and Bath

Body and Bath | 05/04/2012, 02:38

Should I go for B and J 'Free cone day' tmr or just buy a pint and eat at home? Humph

Añadir comentario
Para evitar el spam, no se permite escribir http en los comentarios.
Con soporte para Gravatares
 
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb