Haciendo un traductor de texto a binario en C me encontré en la necesidad de la función itoa y me di cuenta de que no es parte del estándar.

Así que investigando encontré un equivalente a la función y la vengo a mostrar aquí.

Si no sabes para qué sirve itoa, bueno, tiene muchos usos, pero entre ellos está el de convertir un número decimal a binario y otras conversiones.

La función itoa

Así que buscando encontré esta página en donde se detalla una alternativa o codificación de la función y al final queda así:

/**
	 * C++ version 0.4 char* style "itoa":
	 * Written by Lukás Chmela
	 * Released under GPLv3.

	 */
char *itoa(int value, char *result, int base) {
    // check that the base if valid
    if (base < 2 || base > 36) {
        *result = '\0';
        return result;
    }

    char *ptr = result, *ptr1 = result, tmp_char;
    int tmp_value;

    do {
        tmp_value = value;
        value /= base;
        *ptr++ = "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz"[35 +
                                                                                           (tmp_value - value * base)];
    } while (value);

    // Apply negative sign
    if (tmp_value < 0) *ptr++ = '-';
    *ptr-- = '\0';
    while (ptr1 < ptr) {
        tmp_char = *ptr;
        *ptr-- = *ptr1;
        *ptr1++ = tmp_char;
    }
    return result;
}

Recuerda que no es necesario definirla si tu sistema ya la tiene, pero en la mayoría de casos (me pasó en Linux) no estará presente.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto