convert int into const char *

Started by
11 comments, last by terry_burns85 16 years, 2 months ago
how to convert integer into const char * in c++ thanks
Advertisement
Using type-casting.

But before posting very evil code to do that - why are you trying to do that?
You can either use boost::lexical_cast or a std::stringstream.
std::stringstream sstr;sstr << my_int;std::string str1 = sstr.str();std::string str2 = boost::lexical_cast<std::string>(my_int);

Once in a string, you can use the c_str() member function to get a const char *.
i want to display a message box showing x-coordiante whenever left mouse click is being done
MessageBox(NULL, some const char (i suppose),"ERROR",MB_OK|MB_ICONEXCLAMATION);

so i want to convert point.x into some character array to pass it in MessageBox
arguments
also typecasting does not work
(const char*)point.x displays empty space instead of a coordinate

how to display the coordinates in a messagebox
Quote:Original post by mnbvlk
also typecasting does not work
(const char*)point.x displays empty space instead of a coordinate

how to display the coordinates in a messagebox


Read SiCrane's post.
A little odd, but why has no-one yet mentioned itoa()?

personally I use _itot(...).

_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow (CRT)
Its pretty simple.

First make a char.

----------------------
char StringX[5];
----------------------
next call sprintf();
----------------------

sprintf(StringX,"%d",IntX);

-------------------------
This gets String X and fills it up with IntX. Dont mind the "%d" its just a parameter.
-------------------------

int other words, this is what you need.

int iMouseX = GetMouseX() //I guess you already got that far...

char szMouseX[5];

sprintf(szMouseX,"%d",MouseX);

MessageBox(NULL,szMouseX,"ERROR",MB_OK);

Hope this helps more then it hurts
Quote:Original post by superdeveloper
A little odd, but why has no-one yet mentioned itoa()?

itoa() is a non-standard function. In fact, it's almost militantly non-standard. I've seen at least five different function signatures for itoa() over the years:
char * itoa(int, char *, int); // you supply the bufferchar * itoa(int, int, char *); // you supply the bufferchar * itoa(int, char *);      // you supply the bufferchar * itoa(int, int);         // you need to free the pointerchar * itoa(int);              // you need to free the pointer

Don't use itoa() if you even remotely care about portable code.
Quote:Original post by Jazonxyz
char szMouseX[5];

Congratulations, your code has a buffer overrun vulnerability.

This topic is closed to new replies.

Advertisement