numbers to strings

Started by
3 comments, last by deadimp 18 years, 11 months ago
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?
-------------------------Unless specified otherwise, my questions pertain:Windows Platform (with the mindset to keep things multi-platform as possible)C++Visual Studio 2008OpenGL with SFML
Advertisement
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
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,
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)
You can also use itoa and the functions related to it.
Projects:> Thacmus - CMS (PHP 5, MySQL)Paused:> dgi> MegaMan X Crossfire

This topic is closed to new replies.

Advertisement