Monday, May 16, 2011

Converting numbers to Strings

Instead of writing your own function convert an integer or float to a string, just use the C function snprintf (in header stdio.h) or the C++ class stringstream (in header sstream).

In C:
#include
#include

char* itoa(int num)
{
/* log10(num) gives the number of digits; + 1 for the null terminator */
int size = log10(num) + 1;
char *x = malloc(size);
snprintf(x, size, "%d", num);
}


In C++:
#include
#include
#include

string itoa(int num)
{
stringstream converter;
converter << num;
return converter.str();
}