有没有一种方法可以在C ++中为TAB字符(反斜杠t)“ \ t”设置特定数量的最大空格?

时间:2019-05-30 08:00:22

标签: c++ tabs char cout

我想打印一个方阵,每个阵元之间需要间隔3个空格。然后我发现char '\t'可能是最简单的方法。但是,我认为空格的数量是在某种算法中定义的。有人可以给我提供有关该算法的指南,还是有办法为'\t'在C ++中设置某些空格?

我知道如何通过确定空格字符的数量来手动输出。但是'\t'似乎很容易编写代码,而不是循环某些算法。

对于一个简单的方形矩阵:

for (int x = 0, num = 1; x < 5; x++) {
        for (int y = 0; y < 5; y++, num++) {
            cout << num << "\t";
        }
        cout << endl;
    }

代码输出

1       2       3       4       5
6       7       8       9       10
11      12      13      14      15
16      17      18      19      20
21      22      23      24      25

我需要的时候

1   2   3   4   5
6   7   8   9   10
11  12  13  14  15
16  17  18  19  20
21  22  23  24  25

是否可以设置'\ t'?

2 个答案:

答案 0 :(得分:1)

我非常确定选项卡的大小是由您的控制台定义的,因此这将是您的IDE的设置。 如果要保持一致数量的空格,最好使用空格。这样,您不必更改运行代码的所有内容的控制台设置。为什么不做类似的事情

"    "

代替“ \ t”?

编辑:显然,堆栈溢出不会欣赏文本中的多个空格。

答案 1 :(得分:0)

  

但是,我认为空格的数量是在某种算法中定义的。
  ...
  有没有办法设置'\t'

除非您所连接的终端允许您以某种方式进行控制,否则不会。

针对您的情况,使用I/O manipulators控制输出格式的常用方法

  • std::setw()
  • std::left(对于数字可能更好std::right