C++中int转string常用方法包括:①std::to_string(推荐,简洁跨平台);②stringstream(适合格式化拼接);③fmt库(高性能,C++20推荐);④sprintf(C风格,需防溢出)。日常优先选用std::to_string。

在C++中,将int转换为string有多种方式,每种方法适用于不同的场景。下面介绍几种常用且实用的方法。
1. 使用 std::to_string(推荐)
std::to\_string 是最简单直接的方式,支持整数、浮点数等多种数值类型。
示例代码:#include#include int main() { int num = 123; std::string str = std::to_string(num); std::cout << "字符串是: " << str << std::endl; return 0; }
优点:简洁、标准、跨平台。C++11 起可用。
2. 使用 stringstream
通过 std::stringstream 可以将整数“写入”流中,再提取为字符串。
立即学习“C++免费学习笔记(深入)”;
示例代码:#include#include #include int main() { int num = 456; std::stringstream ss; ss << num; std::string str = ss.str(); std::cout << "转换结果: " << str << std::endl; return 0; }
适合需要格式化输出的场景,比如拼接多个变量。
3. 使用 fmt 库(现代C++推荐)
如果你使用 C++20 或引入了 fmt 第三方库(如 {fmt}),可以用更高效的格式化方式。
示例代码(使用 fmt):#include#include #include int main() { int num = 789; std::string str = fmt::format("{}", num); std::cout << "结果: " << str << std::endl; return 0; }
性能优于 std::to_string,语法灵活,适合高性能或复杂格式需求。
4. C风格转换(不推荐但可行)
使用 sprintf 或 snprintf 将整数写入字符数组,再转为 string。
示例代码:#include#include #include int main() { int num = 101; char buffer[32]; snprintf(buffer, sizeof(buffer), "%d", num); std::string str(buffer); std::cout << "C风格转换: " << str << std::endl; return 0; }
注意缓冲区大小,避免溢出。适用于嵌入式或兼容C的环境。
基本上就这些常用方法。日常开发中优先用 std::to_string,追求性能可选 fmt,老项目可能还在用 stringstream。选择合适的方法即可。











