商城首页欢迎来到中国正版软件门户

您的位置:首页 >C++ int转string方法详解

C++ int转string方法详解

  发布于2026-01-24 阅读(0)

扫一扫,手机访问

C++中int转string常用方法包括:①std::to_string(C++11推荐)直接转换;②std::stringstream灵活格式化;③sprintf(需防溢出,较少用);反向可用std::stoi(注意异常处理)。

c++中int怎么转化为string_c++ int与string类型转换技巧

在C++中,将int转换为string是常见操作。有多种方法可以实现这一转换,每种方式适用于不同场景。以下是几种常用且高效的转换技巧。

使用 to_string 函数(推荐)

C++11 起提供了std::to_string函数,可以直接将整数转换为字符串,简单直观。

示例代码:

#include <string>
#include <iostream>

int main() {
int num = 123;
std::string str = std::to_string(num);
std::cout << str << std::endl; // 输出: 123
return 0;
}

这种方法最直接,适用于大多数情况,无需额外引入流对象。

使用 stringstream 流处理

通过std::stringstream也可以完成转换,虽然写法稍繁琐,但在需要格式化输出时更灵活。

示例代码:

#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; // 输出: 456
return 0;
}

也可简写为:
std::string str = ss.str(); 来获取结果。

使用 C 风格 sprintf(较少推荐)

借助sprintfsnprintf将数字格式化到字符数组,再转为std::string。适合与C语言混合编程的场景。

示例代码:

#include <cstdio>
#include <string>
#include <iostream>

int main() {
int num = 789;
char buffer[20];
snprintf(buffer, sizeof(buffer), "%d", num);
std::string str(buffer);
std::cout << str << std::endl; // 输出: 789
return 0;
}

注意缓冲区大小,避免溢出。现代C++中建议优先使用前两种方法。

string 转 int 的反向转换

补充一下,如果需要将string转回int,可使用std::stoi函数。

示例代码:

#include <string>
#include <iostream>

int main() {
std::string str = "100";
int num = std::stoi(str);
std::cout << num + 1 << std::endl; // 输出: 101
return 0;
}

该函数会抛出异常(如std::invalid_argument)当字符串无法转换,使用时建议加异常处理。

基本上就这些。日常开发中,std::to_stringstd::stoi已能满足绝大多数需求,简洁高效。不复杂但容易忽略细节,比如异常安全和缓冲区长度控制。根据项目环境选择合适方式即可。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注