C 打印布尔值:显示什么?
简介
在打印布尔值时C 中,了解指定的行为以确保输出一致非常重要。
标准要求
C 标准在打印布尔值时没有明确要求特定结果。该行为是实现定义的,取决于特定的流。
Boolalpha 标志
标准流(cout、cerr 等)有一个 boolalpha 标志来控制布尔值的表示。当设置为 false(默认)时,布尔值显示为 0 (false) 或 1 (true)。当设置为 true 时,它们显示为字符串“false”和“true”。
示例:
以下代码演示了 boolalpha 标志的使用:
<code class="cpp">#include <iostream> #include <iomanip> int main() { std::cout << false << "\n"; std::cout << std::boolalpha; std::cout << false << "\n"; return 0; }</code>
输出:
不设置 boolalpha,输出将为:
<code class="txt">0 false</code>
设置 boolalpha,输出将为:
<code class="txt">0 false</code>
本地化
设置 boolalpha 时,可以根据当前语言环境对显示的 false 和 true 字符串进行本地化。例如,以下代码将区域设置设置为法语并打印布尔值:
<code class="cpp">#include <iostream> #include <iomanip> #include <locale> int main() { std::cout.imbue(std::locale("fr")); std::cout << std::boolalpha; std::cout << false << "\n"; return 0; }</code>
输出:
<code class="txt">faux</code>
自定义布尔表示
如有必要,可以通过创建自定义 numpunct 方面来自定义布尔值的表示。 numpunct 方面允许控制数字格式,包括 true 和 false 字符串。
以上是如何在 C 中打印布尔值?的详细内容。更多信息请关注PHP中文网其他相关文章!