cout 格式化输出
时间: 2024-01-12 15:04:25 浏览: 139
cout是C++中的标准输出流对象,可以用于格式化输出。为了按照一定的格式进行输出,可以使用流操作算子或者成员函数进行控制。使用流操作算子时,可以使用一系列的格式控制符来指定输出的格式。例如,%X可以用于按十六进制输出整数,%.2f可以用于输出浮点数时保留小数点后面两位,setw()可以用于指定输出的宽度等。
需要注意的是,每次使用setw()设置输出宽度时,只会影响下一次的输出。如果需要多次指定输出宽度,需要在每次输出前使用setw()来设置。此外,setw()也可以影响cin在读入字符串时的行为。
以下是一个示例程序,演示了如何使用setw()和流操作算子进行格式化输出:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int num = 123;
float f = 3.14159;
cout << "Formatted output:" << endl;
cout << "Number in hexadecimal: " << hex << num << endl;
cout << "Float with 2 decimal places: " << fixed << setprecision(2) << f << endl;
cout << "Number with width of 6, left-padded with 0: " << setw(6) << setfill('0') << num << endl;
return 0;
}
运行这段代码将会输出以下结果:
Formatted output:
Number in hexadecimal: 7b
Float with 2 decimal places: 3.14
Number with width of 6, left-padded with 0: 000123
在上述示例中,我们先使用hex设置输出为十六进制形式,然后使用fixed和setprecision(2)设置浮点数的小数点位数,最后使用setw(6)和setfill('0')设置输出宽度为6,左侧用0填充。通过这些控制符,我们可以实现各种格式化的输出。
阅读全文