itoa function problem
www.cplusplus.com says:
This function is not defined in ANSI-C and is not part of C++, but is supported by some compilers.
Therefore, I'd strongly suggest that you don't use it. However, you can achieve this quite straightforwardly using stringstream
as follows:
stringstream ss;
ss << myInt;
string myString = ss.str();
Boost way:
string str = boost::lexical_cast<string>(n);
itoa()
is not part of any standard so you shouldn't use it. There's better ways, i.e...
C:
int main() {
char n_str[10];
int n = 25;
sprintf(n_str, "%d", n);
return 0;
}
C++:
using namespace std;
int main() {
ostringstream n_str;
int n = 25;
n_str << n;
return 0;
}
itoa depends on compiler, so better use the following methods :-
method 1 :If you are using c++11, just go for std::to_string. It will do the trick.
method 2 :sprintf works for both c & c++. ex- ex - to_string
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int i;
char buffer [100];
printf ("Enter a number: ");
scanf ("%d",&i);
string str = to_string(i);
strcpy(buffer, str.c_str());
cout << buffer << endl;
return 0;
}
Note - compile using -std=c++0x.
C++ sprintf:
int main ()
{
int i;
char buffer [100];
printf ("Enter a number: ");
scanf ("%d",&i);
sprintf(buffer, "%d", i);
return 0;
}`