如何使用cout

时间:2015-09-26 06:51:19

标签: c++

我知道有可能使用其他方法(例如printf())来执行此操作,但我想知道是否可以使用cout完成此操作。

Insert -8:   -8 90 34 -78 34 235 9 -12 653
Insert -78:  -78 -8 34 90 34 235 9 -12 653

这是排序算法的部分输出。它显示了每次传球后会发生什么。每个数字来自同一个向量。如上所示,如果第一个元素的减号始终对齐,怎么可能(后面的元素无关紧要)?

目前我的代码如下:

cout << "Insert " << my_vector[pos] << ": ";

for (int k = 0; k < size_of_vector; k++) {
  cout << my_vector[k] << " ";
}

cout << endl;

但是,我的代码会产生如下输出:

Insert -8: -8 90 34 -78 34 235 9 -12 653 
Insert -78: -78 -8 34 90 34 235 9 -12 653 

1 个答案:

答案 0 :(得分:1)

一种简单的方法是以指定的字段宽度输出引入作为单个字符串,例如

cout
    << "Insert "
    << setw( 14 ) << to_string( my_vector[pos] ) + ":";

需要选择幻数以容纳最大位数和符号。

免责声明:编译器未触及的代码。