C++ 布尔值转字符串

2024 年 8 月 28 日 | 阅读 2 分钟

在 C++ 中,布尔值(true/false)可以使用 stringstream 类转换为字符串。这个类提供了一种存储值字符串表示的方法。要将布尔值转换为字符串,可以创建一个 stringstream 对象并将布尔值插入其中。然后,stringstream 将存储布尔值的字符串表示,可以使用 str() 方法检索该表示。

代码片段示例

Std::ostringstream

它是一个可以用来将值转换为字符串的标准库类。std::ostringstream 类是一个写入字符串的流。要将布尔值转换为字符串,我们可以创建一个 std::ostringstream 实例,使用 operator<< 将布尔值写入其中,最后使用 str() 方法提取字符串。

输出

true
false

我们还可以使用 C++ 中的 to_string 函数,然后将布尔值转换为字符串

输出

1
0

std::to_string 函数会将布尔值转换为 "1""0" 的字符串表示。这是因为 C++ 中的布尔值表示为整数,其中 true 等于 1false 等于 0

使用 std::to_string 时,生成的字符串不会是 "true""false"。相反,它将是 "1""0"。如果您需要 "true""false" 的字符串表示,可以使用前面提到的 stringstream 方法。

我们还可以使用 'if' 语句将布尔值转换为字符串

在上述所有示例中,布尔值 b 被转换为字符串 str,该字符串为 "true""false"