21xrx.com
2025-03-26 15:04:50 Wednesday
文章检索 我的文章 写文章
C++ 文本对齐输出
2023-07-04 17:08:15 深夜i     11     0
C++ 文本 对齐 输出 格式化

在 C++ 编程中,输出格式对于程序的可读性和美观性非常重要。其中,文本对齐是其中一项常见的格式化需求。文本对齐可以让文本在输出时按照规定的格式对齐,让整个输出更加整齐美观,易于阅读。

在 C++ 中,文本对齐的实现可以使用 printf() 和 setw() 两个函数来完成。

printf() 函数是 C 语言中的输出函数,也可以在 C++ 中使用,它的格式化字符串可以通过占位符来控制输出的格式。例如,可以使用 %d 来输出整数。而在输出字符串时,可以使用 %-10s 来控制字符串的输出宽度为 10,并左对齐输出。

另一个用于实现文本对齐的函数是 setw()。它是一个函数模板,定义在头文件 中。该函数可以控制输出的宽度,并使用 fill 字符来填充剩余的位置。例如,可以使用 setw(10) 控制输出的宽度为 10,使用 setfill('.') 来设置填充字符为 '.'。

以下是一个简单的示例代码,演示了如何使用 printf() 和 setw() 来实现文本对齐。

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
  int a = 123;
  float b = 3.14159;
  string s = "hello, world";
  printf("Integer: %d\n", a);
  printf("Float: %f\n", b);
  printf("String: %-20s\n", s.c_str());
  cout << "Integer: " << setw(10) << setfill('.') << a << endl;
  cout << "Float: " << setw(10) << setfill('.') << b << endl;
  cout << "String: " << setw(20) << setfill('.') << left << s << endl;
  return 0;
}

运行结果如下所示:

Integer: 123
Float: 3.141590
String: hello, world    
Integer: ......123
Float: ..3.141590
String: hello, world........

在上述示例代码中,使用了 printf() 和 setw() 两个函数来分别实现了文本对齐的效果。在使用 printf() 输出字符串时,使用了 %-20s 格式化字符串来左对齐输出字符串,并控制输出宽度为 20。而在使用 cout 输出时,使用了 setw() 和 setfill() 函数来控制输出宽度和填充字符,同时使用了 left 操纵符来控制字符串的左对齐输出。

总之,文本对齐在 C++ 编程中是一个很常见的需求。通过使用 printf() 和 setw() 函数来实现文本对齐可以让输出更加整齐美观,增加程序的可读性和易用性。需要注意的是,在使用 setw() 函数时,需要包含头文件

  
  

评论区

请求出错了