从C标准(5.2.2字符显示语义):
\ t(水平制表符)将活动位置移动到下一个水平位置 当前行的制表位置。 如果活动位置为 或过去最后定义的水平制表位置,行为 显示设备没有特别说明。
有人可以给我一个适用的案例吗?
答案 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
光标转到上一行,但我们无法确定是否会发生。