https://m.toutiao.com/is/RgDXEdM/?=
我写文章主要是为了给自己写文档。我在编程时非常健忘,所以我经常会写下有用的代码片段、特殊的特性,以及我使用的编程语言中的常见错误。这篇文章完全切合我最初的想法,因为它涵盖了从 C++ 控制台格式化打印时的常见用例。 像往常一样,这篇文章带有大量的例子。除非另有说明,代码片段中显示的所有类型和类都是 面向对象的流如果你曾经用过 C++ 编程,你肯定使用过 cout。当你包含 时,ostream类型的 类
格式化流一般来说,基于
所有这些方法都有其优点和缺点,通常取决于使用哪种方法的情况。下面显示的例子混合使用所有这些方法。 右对齐默认情况下, 右对齐输出的标志和宽度调整只适用于其后的行。 cout.setf(ios::right, ios::adjustfield);cout.width(50);cout 在上面的代码中,我使用 填充空白当使用右对齐输出时,默认情况下,空的地方会用空白字符填充。你可以通过使用
代码输出如下: ...........................500 pcs..........................3000 pcs.........................24500 pcs 组合想象一下,你的 C++ 程序记录了你的储藏室库存。不时地,你想打印一份当前库存的清单。要做到这一点,你可以使用以下格式。 下面的代码是左对齐和右对齐输出的组合,使用点作为填充字符,可以得到一个漂亮的列表:
输出: Flour...............................0.70 kgHoney..................................2 GlassesNoodles..............................800 gBeer..................................20 Bottles 打印数值当然,基于流的输出也能让你输出各种变量类型。 布尔型
以上几行产生的输出结果如下: Boolean output without using boolalpha: 1 / 0Boolean output using boolalpha: true / false 地址如果一个整数的值应该被看作是一个地址,那么只需要把它投到
该代码产生了以下输出: Treat as unsigned long: 43981Treat as address: 0000ABCD 该代码打印出了具有正确长度的地址。一个 32 位的可执行文件产生了上述输出。 整数打印整数是很简单的。为了演示,我使用
注意:默认情况下,没有指示所使用的基数,但你可以使用 Decimal: 123Hexadecimal: 7bOctal: 173 用零填充
你可以通过指定宽度和填充字符得到类似上述的输出: cout 浮点值如果我想打印浮点数值,我可以选择“固定”和“科学”格式。此外,我还可以指定精度:
上面的代码产生以下输出: Default precision: 1234.12Modified precision: 1234.1235Modified precision & scientific format: 1.2341e+03Default precision & fixed format: 1234.12 时间和金钱通过
$99.9599,950€99,950₽ (不知道出于什么原因,在我的系统上,它打印的欧元和卢布有三个小数位,对我来说看起来很奇怪,但这也许是官方的格式。) 同样的原则也适用于时间输出。函数
格式指定符 en_US : Tue 02 Nov 2021 07:36:36 AM CETde_DE : Di 02 Nov 2021 07:36:36 CETru_RU : Вт 02 ноя 2021 07:36:36 创建自定义的流修改器你也可以创建你自己的流。下面的代码在应用于
另一个例子:如果你有重要的事情要说,就像互联网上的大多数人一样,你可以使用下面的代码在你的信息后面根据重要程度插入感叹号。重要程度被作为一个参数传递: struct T_Importance { int levelOfSignificance;};T_Importance importance(int lvl){ T_Importance x = {.levelOfSignificance = lvl }; return x;}ostream& operator 这两个修饰符现在都可以简单地传递给
产生以下输出: My custom manipulator: >>>Here I am 结语下次你再纠结于控制台输出格式时,我希望你记得这篇文章及其 速查表。 在 C++ 应用程序中, via: https:///article/21/11/c-stdcout-cheat-sheet |
|
来自: 山峰云绕 > 《c加加c井号面向对象》