假設我有一個在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