C ncurses tabize

时间:2014-11-10 13:33:37

标签: c ncurses

我正在尝试计算如何在ncurses中更改TABSIZE,并找到了set_tabsize函数。我尝试过它只会产生错误的效果。简单的程序来测试它:

#include <stdlib.h>
#include <ncurses.h>

int main(int argc, char** argv)
{
    initscr(); set_tabsize(4); noecho();
    printw("a\tb\na    b");
    refresh();
    getch();
    endwin();
    return EXIT_SUCCESS;
}

我希望我的标签为4个空格,但输出为:

a   b
a    b

感谢您的关注。

2 个答案:

答案 0 :(得分:2)

您对标签感到困惑 - 它们不会扩展到固定数量的空间 - 它们会插入足够的空格带您进入下一个标签列。因此,在第一行中,您的标签会有3个空格。

答案 1 :(得分:2)

标签通常不是四个空格,它们通常会转到制表位,每个制表位四个空格。因此,以下代码将产生相同的间距:

printf("a\tb\n");      a   b
printf("aa\tb\n");     aa  b
printf("aaa\tb\n");    aaa b
相关问题