c-显示在倒计时之间调用的程序的输出



对于一个关于termcaps的练习,我必须编写一个程序,该程序将显示项目列表,并允许用户选择其中的一些项目。然后,程序将输出用空格分隔的选定项目。该程序可以这样调用:

$> ./my_program foo1 foo2 foo3

或者像这样:

$> ls `my_program foo1 foo2 foo3`

我的程序在第一种情况下运行良好,但在第二种情况下,My_program的stdout被backticks截获,不会显示在终端上。我知道这个程序运行得很好,因为如果我盲目地选择一些项目,我从ls中得到了预期的结果。

在我的程序中,除了以下功能外,我不能使用任何内置功能:•ioctl•tcsetattr•tcgetattr•tgetent•tgoto•tputs•tgetstr•tparm•打开•关闭•写入•malloc•免费•阅读•退出•信号

当像第二种情况一样被调用时,我如何向用户显示my_program的stdout?

编辑:我找到的唯一选项是将所有内容输出到stderr,并将所选项目输出到stdout。。。

您可以在my_program中打开并写入/dev/tty,它只会写入终端,而不会写入重定向的stdout。

最新更新