Is there a way to convert something like an int or an unsigned short to a string without using _itoa? The reason I ask is that I'm using a std::string to hold a date. The month, day and year components of the date are unsigned shorts. I want to copy and then append these elements along with "\" to create a human readable date. The only way that I know to convert an unsigned short to a string so that I can append it to a std::string is using the _itoa function. The problem with this is that it requires me to pass in a buffer to hold the result, and this buffer must be a char* or void* (I forget which, but it doesn't matter). This would basically require me to create a useless buffer just to pass in to _itoa and then delete it. I think this is pretty harmless, but hardly elegent or efficient, is there a better way?