how to convert from int to char*?
Solution 1:
-
In C++17, use
std::to_chars
as:std::array<char, 10> str; std::to_chars(str.data(), str.data() + str.size(), 42);
-
In C++11, use
std::to_string
as:std::string s = std::to_string(number); char const *pchar = s.c_str(); //use char const* as target type
-
And in C++03, what you're doing is just fine, except use
const
as:char const* pchar = temp_str.c_str(); //dont use cast
Solution 2:
I think you can use a sprintf :
int number = 33;
char* numberstring[(((sizeof number) * CHAR_BIT) + 2)/3 + 2];
sprintf(numberstring, "%d", number);
Solution 3:
You can use boost
#include <boost/lexical_cast.hpp>
string s = boost::lexical_cast<string>( number );