📅  最后修改于: 2023-12-03 15:09:45.771000             🧑  作者: Mango
在C++中,iostream
是一个提供了输入和输出流的库。ios
是该库的基类,定义了一些控制流输入/输出的基本规则和特性。
ios
类中定义了一些运算符函数,旨在控制和格式化输出。其中,最常用的运算符是括号运算符 ()
。
ios
的运算符()函数用于设置后续输出的格式,实现特定的输出效果。
#include <iostream>
using namespace std;
int main() {
int number = 42;
cout << "Default: " << number << endl;
cout << "Show base: " << hex << showbase << number << endl;
cout << "Set width: " << dec << setw(10) << number << endl;
cout << "Fill char: " << setfill('0') << number << endl;
cout << "Floating-point: " << 3.14159 << endl;
cout << "Fixed-point: " << fixed << 3.14159 << endl;
cout << "Scientific notation: " << scientific << 3.14159 << endl;
return 0;
}
Default: 42
Show base: 0x2a
Set width: 42
Fill char: 00000042
Floating-point: 3.14159
Fixed-point: 3.141590
Scientific notation: 3.141590e+00
cout << "Default: " << number << endl;
输出默认的数字cout << "Show base: " << hex << showbase << number << endl;
输出16进制数字,并在前面显示前缀0x(showbase)cout << "Set width: " << dec << setw(10) << number << endl;
输出数字,且在前面填充空白,宽度是10个字符(setw)cout << "Fill char: " << setfill('0') << number << endl;
输出数字,且在前面填充0,直到字符宽度达到设定的宽度(setw)cout << "Floating-point: " << 3.14159 << endl;
输出浮点数cout << "Fixed-point: " << fixed << 3.14159 << endl;
输出小数点后6位的定点数cout << "Scientific notation: " << scientific << 3.14159 << endl;
输出科学计数法下面是ios
运算符()函数的详细用法:
dec
、hex
、oct
用于指定输出数字时的进制,分别表示10进制、16进制和8进制。
cout << hex << 42 << endl; // 输出2a
showbase
用于显示数字的进制前缀,如“0x”。
cout << hex << showbase << 42 << endl; // 输出0x2a
setw
用于设定该字段的宽度,在该字段宽度内进行字符串或者数字输出。
cout << dec << setw(10) << 42 << endl; // 输出 42 (10个字符)
setfill
用于设定空白值要以什么来填充,可以用字符、字符串、数字等。
cout << setfill('0') << 42 << endl; // 输出00042
left
、right
、internal
用于设定空白的对齐方式,left表示左对齐、right表示右对齐、internal表示先填充内部再填充外部的空白。
cout << left << "hello" << endl; // 输出 hello
cout << right << "hello" << endl; // 输出 hello
cout << internal << "hello" << endl; // 输出he llo
fixed
、scientific
用于设定浮点数精度时的输出方式。
cout << 3.14 << endl; // 输出 3.14 (默认)
cout << fixed << 3.14 << endl; // 输出 3.140000 (定点小数)
cout << scientific << 3.14 << endl; // 输出3.140000e+00 (科学计数法)
precision
用于设定小数的输出精度。
cout << fixed << setprecision(2) << 3.14 << endl; // 输出 3.14
ios
运算符()函数提供了多种控制输出格式的方法,可以让开发者更方便地控制程序输出的效果。同时,这些输出格式的设定也是C++面向对象的典型体现。
需要注意的是,控制输出格式时,一定要在输出语句中及时设定运算符(),这样才能保证输出效果的正确实现。