21xrx.com
2024-12-22 18:07:32 Sunday
登录
文章检索 我的文章 写文章
C++ 文本对齐输出
2023-07-04 17:08:15 深夜i     --     --
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() 函数时,需要包含头文件

  
  

评论区

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