📅  最后修改于: 2023-12-03 15:14:01.332000             🧑  作者: Mango
在 C++ 中,我们经常需要控制程序的输出,在不同的情况下,需要输出不同的信息以及不同的格式。在这篇文章中,我们将介绍如何通过 C++ 的输出流控制程序的输出,以及如何设置输出的格式。
在 C++ 中,标准输出流被定义为 std::cout
,它是一个对象,用于输出数据到屏幕上。我们可以通过一些方法来调整输出的格式:
std::endl
:输出换行符,并刷新缓冲区。std::setw()
:用于设置字段的宽度,例如 std::cout << std::setw(6) << 42;
将输出 __42
(共 6 个字符,首位用下划线填充)。std::setprecision()
:用于设置操作数的精度,例如 std::cout << std::setprecision(3) << 3.1415926;
将输出 3.14
。std::fixed
:用于表示浮点数输出时按照定点数位输出,例如:std::cout << std::fixed << 100.123;
,输出结果为:100.123000
。std::scientific
:用于表示浮点数输出时按照科学计数法输出,例如:std::cout << std::scientific << 100.123;
,输出结果为:1.001230e+02
。使用 std::setw()
函数可以设置输出的字段宽度。例如:
std::cout << std::setw(10) << "Hello";
std::cout << std::setw(10) << "Bingchun";
输出结果:
Hello
Bingchun
在上述代码中,我们首先使用 std::setw(10)
函数设置输出宽度为 10 个字符。这样输出时,如果当前输出内容的长度小于 10,那么就会在前面填充空格,直至输出内容的长度为 10。
使用 std::setprecision()
函数可以设置输出浮点数的精度。例如:
std::cout << std::setprecision(3) << 3.1415926;
输出结果:
3.14
在上述代码中,我们设置输出的浮点数精度为 3,因此输出时只显示浮点数的前三位小数。
使用 std::fixed
和 std::scientific
函数可以设置浮点数的输出格式。
如果使用 std::fixed
函数,那么浮点数会按照定点数位输出。例如:
std::cout << std::fixed << 100.123;
输出结果:
100.123000
如果使用 std::scientific
函数,那么浮点数会按照科学计数法输出。例如:
std::cout << std::scientific << 100.123;
输出结果:
1.001230e+02
在上述代码中,我们首先设置了浮点数的输出格式为 std::fixed
,然后输出了一个浮点数。接着,我们又设置了浮点数的输出格式为 std::scientific
,然后再次输出了同样的浮点数。可以看到,两次输出的结果是不同的:第一次输出时按照定点数位输出,第二次输出时按照科学计数法输出。