#include void mksize (float bytes, char *ret) { if (bytes < 1024) sprintf(ret, "%.f B", bytes); else if (bytes < 1048576) sprintf(ret, "%.2f kB", bytes / 1024); else if (bytes < 1073741824) sprintf(ret, "%.2f MB", bytes / 1048576); else if (bytes < 1099511627776) sprintf(ret, "%.2f GB", bytes / 1073741824); else sprintf(ret, "%.2f TB", bytes / 1099511627776); } void main() { char out[255]; mksize(1572864, out); printf("%s\n", out); }