1.使用 stringstream (适用于任何C++版本)
注意:要加头文件 #include <sstream>
或者用万能文件头(GCC编译器)#include <bits/stdc++.h>
用法:
int i = 123;
stringstream ss;
ss<<i;
string b=ss.str(); //string要头文件#include <string.h>,万能头文件不需要加
2. 使用 to_string (C++11及以上)
C++11引入了 std::to_string,它可以方便地将整数转换为字符串。
用法:
int i = 123;
string b = to_string(i);
3.手动编写转换函数string intToString(int num)
#include <iostream>
#include <vector>
#include <algorithm> // 包含 reverse
using namespace std;
string intToString(int num) {
if (num == 0) return "0"; // 处理 0 的特殊情况
vector<char> result; // 用于存储每一位的字符
bool isNegative = num < 0;
if (isNegative) num = -num; // 处理负数
// 提取每一位数字
while (num > 0) {
result.push_back('0' + num % 10); // 获取当前位数字的字符并存储
num /= 10; // 去掉当前位
}
if (isNegative) result.push_back('-'); // 如果是负数,添加负号
// 反转存储的字符,得到正确的顺序
reverse(result.begin(), result.end());
// 构建并返回最终的字符串
return string(result.begin(), result.end());
}
int main() {
int num = -12345;
string str = intToString(num);
cout << "转换后的字符串是 " << str << endl;
return 0;
}
4. 使用 C 风格的 sprintf 来将整数转换为字符串
#include <iostream>
#include <cstdio> // 必须包含 cstdio 头文件
using namespace std;
int main() {
int num = 123;
char str[20]; // 存储转换后的字符串
sprintf_s(str, "%d", num); // 使用 sprintf 将整数转换为字符串
cout << "转换后的字符串是 " << str << endl;
return 0;
}