使用std::to_string:C++11引入,直接将int转为string,如std::string str = std::to_string(123);2. 使用stringstream:通过std::stringstream插入整数再转字符串,兼容C++98,适合复杂格式转换。

在C++中,将int转换为string是常见操作。有多种方法可以实现这一目标,每种方式适用于不同场景。以下是几种常用且有效的实现方式。
1. 使用 std::to_string(最简单)
std::to_string 是 C++11 引入的最直接的方法,支持整数、浮点数等多种数值类型转字符串。
示例代码:
int num = 123;
std::string str = std::to_string(num);
这种方法简洁明了,适合大多数情况。
立即学习“C++免费学习笔记(深入)”;
2. 使用 stringstream(传统方式)
通过 std::stringstream 可以将整数插入流中,再提取为字符串。这是 C++98 中常用的手段。
示例代码:
#include
std::stringstream ss;
ss
std::string str = ss.str();
这种方式灵活性高,适合拼接多种类型的数据。
3. 使用 fmt 库(现代高效方式)
fmt 是一个高性能的格式化库(C++20 后部分纳入标准库),支持更安全、更快的转换。
示例代码:
#include
std::string str = fmt::format("{}", 789);
性能优于 std::to_string 和 stringstream,推荐在性能敏感项目中使用。
4. 使用 C 风格函数(不推荐但可行)
可以使用 sprintf 或 snprintf 将整数写入字符数组,再构造 string。
示例代码:
char buffer[32];
snprintf(buffer, sizeof(buffer), "%d", 1000);
std::string str(buffer);
需要注意缓冲区大小,容易引发溢出问题,建议避免使用。
基本上就这些常见的 int 转 string 方法。日常开发推荐优先使用 std::to_string,追求性能可选 fmt,兼容老标准可用 stringstream。











