itoa功能问题

Avi*_*djo 10 c++ portability itoa

我正在使用我的C++项目中的Ubuntu环境中的Eclipse.

我使用该itoa函数(在Visual Studio上完美运行),编译器抱怨itoa未声明.

我包括<stdio.h>,<stdlib.h>,<iostream>这于事无补.

Com*_* 10 10

www.cplusplus.com说:

此函数未在ANSI-C中定义,并且不是C++的一部分,但受某些编译器支持.

因此,我强烈建议您不要使用它.但是,您可以使用stringstream以下方法直接实现此目的:

stringstream ss;
ss << myInt;
string myString = ss.str();
Run Code Online (Sandbox Code Playgroud)

  • #include &lt;sstream&gt; (2认同)

Dav*_*nco 5

itoa()不是任何标准的一部分,因此您不应该使用它。有更好的方法,即

C:

int main() {
    char n_str[10];
    int n = 25;

    sprintf(n_str, "%d", n);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

C ++:

using namespace std;
int main() {
    ostringstream n_str;
    int n = 25;

    n_str << n;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)


dim*_*mba 5

提升方式:

string str = boost::lexical_cast<string>(n);