Programación General > C/C++
convertir un int en char*
ProfesorX:
Me alegra que te haya servido.
Bueno, se que probablemente ya lo terminaste, pero como ejercicio hice mi propia funcion para calcular la mascara, esta mas simplificada, y utiliza el operador << (corrimiento de bits a la izquierda) para calcular el valor, y sprintf para convertirlo a cadena, la dejo para ti y para quien en el futuro le pueda servir, estudiala y analizala.
--- Código: ---#include <cstdio>
char *calcularMascara(int ntipo)
{
char *mask = new char[16];
int a, b, c, d;
a = b = c = d = 0;
for (int i = 1; i <= ntipo; i++)
{
if (i <= 8)
a = a + (1 << (8-i));
else
if (i <= 16)
b = b + (1 << (16-i));
else
if (i <= 24)
c = c + (1 << (24-i));
else
if (i <= 32)
d = d + (1 << (32-i));
}
sprintf(mask, "%03d.%03d.%03d.%03d", a, b, c, d);
return mask;
}
int main()
{
char *mascara;
for (int i = 1; i <= 32; i++)
{
mascara = calcularMascara(i);
printf("%s\n", mascara);
delete mascara;
}
return 0;
}
--- Fin del código ---
Saudos :)
MindEye:
- Muchísimas gracias profesorX, gracias a tus indicaciones, no solo termine la función sino que además he aprendido algo nuevo.
- Hasta la próxima profesorX.
Navegación
[*] Página Anterior
Ir a la versión completa