将活动位置移动到当前行的下一个选项卡位置

时间:2017-01-28 14:49:45

标签: c

从C标准(5.2.2字符显示语义):

  

\ t(水平制表符)将活动位置移动到下一个水平位置   当前行的制表位置。 如果活动位置为   或过去最后定义的水平制表位置,行为   显示设备没有特别说明。

有人可以给我一个适用的案例吗?

2 个答案:

答案 0 :(得分:2)

说,你的文本控制台有80个字符宽度,制表位置是0,8,16,.... 72。 根据标准,您知道如果将一个制表符发送(打印)到控制台,则光标移动到第8个位置。如果两个,那么到第16个位置......如果是九个,那么到第72个位置。但是,如果您发送更多表格,则不会指定光标所在的位置。例如,在我当前的控制台上,在这种情况下,它位于最右边(79)的位置,但我们绝不应该依赖这个假设。

答案 1 :(得分:0)

关于标签

  

大多数终端程序每隔8列都有一个制表位。

  • 对于每个" \ t"打印光标将转到下一个可能的位置(通常为8个空格)。
  • 如果控制台中有N个制表字符的空间,则可以安全地从0到N打印#34; \吨"
  • 让我们说我的小控制台只有4个标签的空间,并且(在新行之后)我有下面的代码

    .//*[@id='ui-id-21']
    

    在这种情况下,我们不知道最后的印刷方式是什么。

    注意:有时候,如果你打印很多这样的话; printf ( "\t\t\t\t\t" ); // As you can see... //...here I want to put 5 tabulation tabs on screen 光标转到上一行,但我们无法确定是否会发生。