假设我有一个在curses屏幕上执行一些工作的ncurses程序,并最终打印出stdout
。调用该程序c.c
,编译为a.out
。如何使ncurses程序与其他linux utils一起工作?
我希望先火起来的ncurses,一些动作之后,a.out
退出并打印c.c
到stdout
,这是阅读cat
,因而文件c.c
的打印内容。
#include <stdio.h>
#include <ncurses.h>
int main() {
initscr();
noecho();
cbreak();
printw("hello world");
refresh();
getch();
endwin();
fprintf(stdout, "c.c");
return 0;
}
我也希望./a.out | xargs vim
,ls | ./a.out | xargs less
工作。
但是,当我输入./a.out | xargs vim
,hello world
从来没有出现。该命令似乎没有按顺序执行,vim不打开c.c
。
使ncurses程序与其他linux utils一起工作的正确方法是什么?
非常感谢你 – delta
[newterm](http://man7.org/linux/man-pages/man3/curs_initscr.3x.html! )是通常的解决方案。 – rici