📜  将 int 附加到 cpp 中的字符串 - C++ (1)

📅  最后修改于: 2023-12-03 15:25:13.948000             🧑  作者: Mango

在 C++ 中将 int 附加到字符串

有时候我们需要在字符串中动态地添加整数的值。C++中有多种方式实现这个目的,下面我们将介绍两种常见的方式。

使用 std::to_string()

使用 std::to_string() 函数,可以将整数类型转换为字符串类型。例如,将整数 42 转换为字符串类型,我们可以这样写:

int i = 42;
std::string str = std::to_string(i);

现在 str 的值为 "42"

我们可以把该字符串添加到另一个字符串中,例如:

std::string msg = "The answer is: ";
msg += std::to_string(i);

现在 msg 的值为 "The answer is: 42"

使用 std::stringstream

另一种通用的方法是使用 std::stringstream 类。std::stringstream 可以将各种类型的值转换为字符串,并且可以复合多个字符串和值。例如,将整数 42 添加到另一个字符串中,我们可以这样写:

#include <sstream>

int i = 42;
std::stringstream ss;
ss << "The answer is: " << i;

std::string msg = ss.str();

现在,msg 的值为 "The answer is: 42"

如果需要,我们可以将多个值解析成一个字符串:

float f = 3.14;
ss << " and pi is " << f;

std::string result = ss.str();

现在 result 的值为 "The answer is: 42 and pi is 3.14"

使用 std::stringstream 的优势是可以方便地将不同类型的值复合在一起,并且将所有的值一起转换为一个字符串。

结论

这里介绍了两种方法将整数类型添加到字符串中。使用 std::to_string() 是更简单的,因为它仅需要一个函数调用就可以把整数转换为字符串。然而,如果需要转换多个值,或需要将不同类型的值复合在一起,使用 std::stringstream 可以更容易地实现。