c++如何将int转换为string_C++整数转字符串的多种实现方式

使用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);

这种方法简洁明了,适合大多数情况。

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_stringstringstream,推荐在性能敏感项目中使用。

4. 使用 C 风格函数(不推荐但可行)

可以使用 sprintfsnprintf 将整数写入字符数组,再构造 string。

示例代码:

char buffer[32];
snprintf(buffer, sizeof(buffer), "%d", 1000);
std::string str(buffer);

需要注意缓冲区大小,容易引发溢出问题,建议避免使用。

基本上就这些常见的 int 转 string 方法。日常开发推荐优先使用 std::to_string,追求性能可选 fmt,兼容老标准可用 stringstream