最简单的方法是使用std::to_string,C++11起支持将整数转为字符串,用法简洁;也可用stringstream进行灵活格式化;现代C++推荐fmt库实现高效转换,性能好且语法清晰。

在C++中,将整数转换为字符串有多种方法,下面介绍几种常用且简单的方式,适用于不同场景。
使用 std::to_string
这是最简单直接的方法。C++11 起提供了 std::to_string 函数,可以将整数(以及其他数值类型)轻松转换为字符串。
- 支持 int、long、long long、float、double 等类型
- 用法简洁,推荐日常使用
示例代码:
#include <string>
#include <iostream>
int main() {
int num = 123;
std::string str = std::to_string(num);
std::cout << "转换结果: " << str << std::endl;
return 0;
}
使用 stringstream
利用 std::stringstream 可以实现更灵活的格式化转换,适合需要拼接或格式控制的场景。
立即学习“C++免费学习笔记(深入)”;
- 包含头文件 <sstream>
- 通过插入操作符 << 写入整数,再用 str() 获取字符串
示例代码:
#include <sstream>
#include <string>
#include <iostream>
int main() {
int num = 456;
std::stringstream ss;
ss << num;
std::string str = ss.str();
std::cout << "转换结果: " << str << std::endl;
return 0;
}
使用 fmt 库(现代C++推荐)
如果你使用 C++20 或引入了 fmt 第三方库(高性能格式化),可以用 fmt::format 实现高效转换。
优点:性能高,语法清晰,支持复杂格式。
示例:
#include <fmt/core.h>
#include <string>
#include <iostream>
int main() {
int num = 789;
std::string str = fmt::format("{}", num);
std::cout << "转换结果: " << str << std::endl;
return 0;
}
手动实现(不推荐但可学习)
对于学习目的,也可以通过循环取余方式逐位转换,再反转字符串。但实际开发中没必要手写,效率低且易错。
基本上就这些常见方法。日常开发推荐优先使用 std::to_string,简单明了。如果项目中已有 fmt 库,也可用它获得更好性能和一致性。











