# numbers to strings

## Recommended Posts

How would i have a Message box display a number returned from a function? i.e. MessageBox(0, GetNum(), 0,0); i tryed putting (LPCSTR)GetNum() but that didn't work... any ideas?

##### Share on other sites
You'd have to specifically convert it yourself. One way is to do it like this (but likely many people are going to bug about it):
char szBuffer[512];sprintf( szBuffer, "The number was %d.", GetNum() );MessageBox( szBuffer, "Caption goes here", MB_OK );

Greetz,

Illco

##### Share on other sites
You can use either sprintf() or a string stream.

sprintf() is the C-way of doing this. If you are programming in C++ I suggest you to use string stream instead of sprintf().

with sprintf()
// a 32 bit integer contains at most 9 digits, the sign -,// and we need some room for the '\0'char   buf[11]; sprintf(buf, "%d", myInteger);MessageBox(0, buf, 0,0);

with string streams
#include <sstream>std::string getNum(int myInteger){  std::stringstream  myStream;  myStream << myInteger << std::ends;  return myStream.str();}MessageBox(0, getNum(myInteger).c_str(), 0, 0);

This question is probably in the top 5 FAQ. It might be a good idea to browse the forum before asking such simple question.

HTH,

##### Share on other sites
Using the c++ way is much safer.
Just a note on naming of functions: getNum(int) is terribly named.
Sorry, but I hate reading code like that. Name a function for what it does:
numToString(int)

##### Share on other sites
You can also use itoa and the functions related to it.

## Create an account

Register a new account

• ### Forum Statistics

• Total Topics
627731
• Total Posts
2978831

• 10
• 9
• 21
• 14
• 12