\ 033在unix中提示

时间:2013-04-06 15:37:28

标签: c unix signals terminal-emulator

我写了一个信号处理程序,它从缓冲区打印一行,它首先删除前一个提示,打印一行并在​​屏幕的末尾再次打印提示。这是我的经纪人。

void print(int param)
{
  int c;
  signal(SIGALRM, print);
  printf("\b\b\b\b\b\b\b\b\b\b\033[0K");
  print_line();
  printf("\033[7m--HEY--\033[0m");
}

这个处理程序正在做我想要的一切,除了我在屏幕的末尾看不到提示。我不明白为什么我无法看到提示?

1 个答案:

答案 0 :(得分:2)

标准输出通常是行缓冲的。以\n字符结尾,或者像这样明确地刷新:

fflush(stdout);