1 std::to_string(最推荐)

可靠、可移植性高
示例代码:

#include <string>
using namespace std;

int main(){
    int n=100;
    string str=to_string(n);

    return 0;
}

2 itoa函数

缺点:只能在windows使用,移植性很差
示例代码:

#include <string>
using namespace std;

int main() {
    int n=100;
    char ch[10];
    _itoa(n, ch, 10); //10表示十进制,vs2017使用_itoa,其他环境可能使用itoa
    //下面把char*转成string
    string str(ch, ch+strlen(ch));
    return 0;
}

3 stringstream字符串流

缺点:慢的要死
示例代码:

#include <sstream>
#include <string>
using namespace std;

int main(){
    stringstream ss;
    string str;
    int n=100;
    ss<<n;
    ss>>str;
    return 0;
}

4 sprintf() - C语言库函数

优点:可以转换各种进制的数。
缺点:需要先分配足够的char数组,无法顾及数组越界问题。
示例代码:

#include <string>
#include <cstring> // strlen(linux)
using namespace std;

int main() {
    int n = 100;
    char ch[10];
    sprintf(ch, "%d", n);

    //下面把char*转成string
    string str(ch, ch + strlen(ch));

    //printf("%sn",str.c_str());

    return 0;
}