21xrx.com
2024-12-22 20:36:23 Sunday
登录
文章检索 我的文章 写文章
C++文本输出对齐技巧
2023-07-05 13:48:07 深夜i     --     --
C++ 文本输出 对齐技巧 格式化输出 控制字符

在使用C++进行文本输出时,往往需要对文本进行对齐操作以使文本更易于阅读。在本文中,我们将介绍一些常用的C++文本输出对齐技巧。

1. setw() 和 setfill()

这是最常用的文本对齐技巧之一。setw() 用于在输出字段中设置固定宽度,setfill() 用于在输出字段中设置填充字符。以下是一个示例:


#include <iostream>

#include <iomanip>

using namespace std;

int main() {

  int value = 123;

  cout << "输出整数:" << setw(10) << setfill('*') << value << endl;

  double dvalue = 1234.5678;

  cout << "输出浮点数:" << setw(10) << setprecision(4) << setiosflags(ios::fixed) << setfill('0') << dvalue << endl;

  return 0;

}

这个程序将输出:


输出整数:******123

输出浮点数:001234.5678

2. left、right、internal 和 dec、hex、oct

left、right 和 internal 是用于控制输入和输出位置的标志。它们的作用如下:

- left:输出左对齐。

- right:输出右对齐。

- internal:用于填充数值和符号之间的空格。

下面是一个例子:


#include <iostream>

#include <iomanip>

using namespace std;

int main() {

  int value = 12;

  cout << "输出整数:" << setw(10) << setfill('*') << left << value << right << internal << endl;

  double dvalue = 12.3456;

  cout << "输出浮点数:" << setw(10) << setprecision(4) << setiosflags(ios::fixed) << setfill('0') << left << dvalue << endl;

  cout << hex << showbase << uppercase << 255 << endl;

  cout << oct << showbase << 255 << endl;

  return 0;

}

这个程序将输出:


输出整数:12********

输出浮点数:12.3456***

0XFF

0377

3. setprecision() 和 setiosflags()

setprecision() 用于指定浮点数的精度, setiosflags() 用于设置输出格式标志。以下是一个示例:


#include <iostream>

#include <iomanip>

using namespace std;

int main() {

  double dvalue = 12.3456789;

  cout << setiosflags(ios::fixed) << setiosflags(ios::showpoint) << setprecision(3) << dvalue << endl;

  return 0;

}

这个程序将输出:


12.346

总结:

在C++中有很多文本输出对齐技巧, setfill() 和 setw() 是最常用的。使用这些技巧可以使文本更易于阅读和理解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复