代码之家  ›  专栏  ›  技术社区  ›  Doctor J

为什么水平选项卡不适用于C++cout?

  •  -1
  • Doctor J  · 技术社区  · 9 年前

    我有一个简单的输出语句:

    cout<<"John\tWilliam\tSmith"<<endl;
    

    John   William Smith
    

    第一个选项卡工作正常,但由于某些原因,第二个选项卡似乎被忽略了。有什么帮助吗?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Lightness Races in Orbit    9 年前

    不要使用制表符分隔列;没有一致的解释。

    • 选项卡可以忽略。
    • 制表符的范围从2个空格到8个或更多。
    • 选项卡可以由空格替换,也可以前进到列。
    • 选项卡可以是规则间距或可变间距。
    • 当与可变宽度字体一起使用时,标签会变差。

    一种更一致的列排列方法是 setw left right 正当理由

    使用GUI时,必须考虑字符间距。

        2
  •  0
  •   Lightness Races in Orbit    9 年前

    两个标签似乎都工作得很好。相反,是你误解了他们!

    选项卡空间不是固定数量的空白。选项卡空间将光标移动到下一个预定义的“列”。因此,它不是很可靠。然而,它当前在终端中设置,并没有给出您想要的结果。

    输出固定数量的空白。你会更快乐的。