您的位置:

C++ 格式化输出完全指南

C++ 提供了多种输出数据格式化的方法,使程序员可以控制输出的精度和格式。本文将详细阐述 C++ 格式化输出的几个方面。

一、基本语法

C++ 的基本输出语法为 cout << value;,其中 value 可以是任意数据类型。在此基础上,我们可以使用控制符来控制输出格式。

控制符以 << 运算符连接到输出语句中。下面是一些常用的控制符:

  • endl:输出换行符
  • setw(n):设置下一个输出字段的宽度为 n
  • setprecision(n):设置下一个输出浮点数的显示精度为 n
  • fixed:设置下一个输出浮点数为固定点小数位数
  • scientific:设置下一个输出浮点数为科学计数法表示

下面是一个示例程序:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
  int a = 10;
  float b = 3.1415926;

  cout << "a = " << setw(5) << a << endl;
  cout << "b = " << setprecision(3) << fixed << b << endl;
  cout << "b = " << scientific << b << endl;

  return 0;
}

输出结果如下:

a =    10
b = 3.142
b = 3.141593e+00

从上面的输出结果中可见,setw(n) 可以控制输出字段的宽度,setprecision(n) 可以控制输出精度,fixedscientific 可以控制浮点数的输出格式。

二、左对齐和右对齐

为了让输出更加美观,我们有时需要将输出左对齐或者右对齐。C++ 使用 leftright 控制符分别表示左对齐和右对齐。

下面是一个示例程序:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
  int a = 10;

  cout << left << setw(5) << a << endl;
  cout << right << setw(5) << a << endl;

  return 0;
}

输出结果如下:

10    
   10

从输出结果可以看到,使用 left 控制符将输出左对齐,使用 right 控制符将输出右对齐。

三、控制符的复合使用

控制符可以复合使用,从而使输出更加完美。

下面是一个示例程序:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
  float pi = 3.1415926;

  cout << "pi = " << setiosflags(ios::fixed) << setprecision(2) << setw(10) << setiosflags(ios::left) << pi << endl;

  return 0;
}

输出结果如下:

pi = 3.14      

从输出结果可以看到,我们使用了 setiosflags 控制符来设置输出的精度和格式,同时也使用了 setwleft 控制符来对输出进行美化。

四、总结

本文阐述了 C++ 格式化输出的几个方面,包括基本语法、左对齐和右对齐、控制符的复合使用等,希望对大家有所帮助。