itoa function problem
I'm working on Eclipse inside Ubuntu environment on my C++ project.
I use the itoa
function (which works perfectly on Visual Studio) and the compiler complains that itoa
is undeclared.
I included <stdio.h>
, <stdlib.h>
, <iostream>
which doesn't help.
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();
提升方式:
string str = boost::lexical_cast<string>(n);
itoa()
is not part of any standard so you shouldn't use it. There's better ways, ie..
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;
}
链接地址: http://www.djcxy.com/p/20970.html
上一篇: istringstream,ostringstream和strings
下一篇: itoa功能问题