📅  最后修改于: 2023-12-03 15:10:23.044000             🧑  作者: Mango
在C++中,将整数转换为字符串的方法有很多。下面是一些常见的方法:
#include <sstream>
#include <string>
std::string intToStr(int n) {
std::stringstream ss;
ss << n;
return ss.str();
}
这个方法使用了 std::stringstream
类来将整数转换为字符串。首先创建一个 stringstream
对象 ss
,然后将整数写入流中,最后使用 str()
方法将流中的内容提取出来并返回。这个方法的好处是可以很方便地使用流操作符 <<
,例如可以像这样将多个整数组合成一个字符串:
std::string intToStr(int a, int b, int c) {
std::stringstream ss;
ss << a << "-" << b << "-" << c;
return ss.str();
}
#include <cstdio>
#include <string>
std::string intToStr(int n) {
char buf[32];
std::sprintf(buf, "%d", n);
return std::string(buf);
}
这个方法使用了 sprintf
函数来将整数格式化为字符串。sprintf
函数的第一个参数是一个字符数组,表示格式化后的字符串,第二个参数是一个格式化字符串,用来指定如何将整数转换为字符串。在这个例子中,格式化字符串为 "%d"
,表示将整数以十进制数的形式输出。sprintf
函数最后返回的是字符数组,需要将其转换为 std::string
类型。
#include <string>
std::string intToStr(int n) {
return std::to_string(n);
}
这个方法使用了 C++ 11 中引入的 to_string
函数。它的作用很简单,就是将一个整数转换为字符串。这个函数不需要额外的头文件,直接调用即可。
如果不想使用 C++ 标准库中的函数,也可以手写一个将整数转换为字符串的函数。一个比较简单的思路是不断将整数除以10取余数,将余数转换为字符加入字符串中,然后将整数除以10,直到整数为0为止。需要注意的是,低位的数字应该在字符串的前面,高位的数字应该在字符串的后面。
以下是一个手写实现的示例代码:
#include <string>
std::string intToStr(int n) {
std::string ans;
while (n > 0) {
char c = '0' + n % 10;
ans = c + ans;
n /= 10;
}
if (ans.empty()) ans = "0";
return ans;
}
以上就是一些将整数转换为字符串的常见方法,根据自己的需要选择合适的方法即可。