21xrx.com
2024-12-22 21:51:30 Sunday
登录
文章检索 我的文章 写文章
C++ 列对齐技巧:让输出更美观
2023-07-04 13:51:21 深夜i     --     --
C++ 列对齐 技巧 输出 美观

C++ 是一种非常强大的编程语言,被广泛应用于各种应用程序的开发中。在开发过程中,输出排版是非常重要的一个方面,它决定了程序的运行结果在屏幕上的显示效果。而列对齐技巧可以让输出更美观。

在 C++ 中,我们可以使用控制符 setw() 来控制输出的宽度,以达到列对齐的效果。setw() 使用起来非常简单,只需要将其作为流操作符的参数即可。

比如,下面的代码就展示了如何使用 setw() 进行列对齐:


#include <iostream>

#include <iomanip>

int main()

{

  std::cout << std::setw(10) << "ID" << std::setw(20) << "Name" << std::setw(10) << "Age" << std::endl;

  std::cout << std::setw(10) << "1" << std::setw(20) << "Tom" << std::setw(10) << "20" << std::endl;

  std::cout << std::setw(10) << "2" << std::setw(20) << "Jerry" << std::setw(10) << "25" << std::endl;

  std::cout << std::setw(10) << "3" << std::setw(20) << "Mike" << std::setw(10) << "23" << std::endl;

  return 0;

}

运行结果如下:


    ID        Name    Age

     1         Tom    20

     2        Jerry    25

     3        Mike    23

通过使用 setw() 控制符,我们可以让输出的数据在指定的宽度内对齐,非常美观。不过需要注意的是,setw() 不会影响字符串变量的实际宽度,因此如果字符串本身就比指定的宽度长,那么它依然会正常输出。

另外,我们还可以使用函数 setfill() 来控制在指定宽度内对齐时使用的填充字符,默认是空格。例如,下面的代码就展示了如何使用 setfill() 控制符来将对齐字符的填充设为 '-'。


#include <iostream>

#include <iomanip>

int main()

{

  std::cout << std::setfill('-');

  std::cout << std::setw(10) << "ID" << std::setw(20) << "Name" << std::setw(10) << "Age" << std::endl;

  std::cout << std::setw(10) << "1" << std::setw(20) << "Tom" << std::setw(10) << "20" << std::endl;

  std::cout << std::setw(10) << "2" << std::setw(20) << "Jerry" << std::setw(10) << "25" << std::endl;

  std::cout << std::setw(10) << "3" << std::setw(20) << "Mike" << std::setw(10) << "23" << std::endl;

  std::cout << std::setfill(' ');

  return 0;

}

输出结果如下:


--------ID-------------------Name-------Age

     1         Tom--------20

     2        Jerry--------25

     3        Mike--------23

可以看到,使用 setfill() 控制符可以让在指定宽度内对齐时使用的填充字符发生改变。

总之,在 C++ 中使用列对齐技巧可以让输出更美观、易读,提升程序的可读性和可维护性。希望大家能够学会这一技巧,为您的编程工作提供帮助。

  
  

评论区

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