📜  带有示例的C++ 11中的ios运算符()函数(1)

📅  最后修改于: 2023-12-03 15:09:45.771000             🧑  作者: Mango

带有示例的C++ 11中的ios运算符()函数

在C++中,iostream 是一个提供了输入和输出流的库。ios 是该库的基类,定义了一些控制流输入/输出的基本规则和特性。

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
示例代码解释
  1. cout << "Default: " << number << endl; 输出默认的数字
  2. cout << "Show base: " << hex << showbase << number << endl; 输出16进制数字,并在前面显示前缀0x(showbase)
  3. cout << "Set width: " << dec << setw(10) << number << endl; 输出数字,且在前面填充空白,宽度是10个字符(setw)
  4. cout << "Fill char: " << setfill('0') << number << endl; 输出数字,且在前面填充0,直到字符宽度达到设定的宽度(setw)
  5. cout << "Floating-point: " << 3.14159 << endl; 输出浮点数
  6. cout << "Fixed-point: " << fixed << 3.14159 << endl; 输出小数点后6位的定点数
  7. cout << "Scientific notation: " << scientific << 3.14159 << endl; 输出科学计数法
ios运算符()函数的具体用法

下面是ios 运算符()函数的详细用法:

dechexoct

用于指定输出数字时的进制,分别表示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
leftrightinternal

用于设定空白的对齐方式,left表示左对齐、right表示右对齐、internal表示先填充内部再填充外部的空白。

cout << left << "hello" << endl;  // 输出 hello
cout << right << "hello" << endl; // 输出          hello
cout << internal << "hello" << endl; // 输出he    llo
fixedscientific

用于设定浮点数精度时的输出方式。

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++面向对象的典型体现。

需要注意的是,控制输出格式时,一定要在输出语句中及时设定运算符(),这样才能保证输出效果的正确实现。