Come da titolo avevo la necessità di convertire un unsigned int nella classica forma degli indirizzi IP formata da 4 triplette di numeri separate da punto, tipo: 192.168.0.1
Ho trovato questo codice molto semplice ed efficace:
unsigned int ipAddress = 3232235521;
unsigned char octet[4] = {0, 0, 0, 0};
for (int i = 0; i < 4; i++) {
octet[i] = ( ipAddress >> ( i * 8 ) ) & 0xFF;
}
printf("%d.%d.%d.%d\n", octet[3], octet[2], octet[1], octet[0]);