各位大虾,麻烦帮忙帮忙.......

我用curses编了一个有界面的程序。
然后用shell来调用,
为什么我用了输出重定向是界面就显示不出来呢?
我的程序大概是这样的(frame.c):
int main(int argc,char *argv[])
{
   char sOut[100];
   initscr();
   cbreak();
   nonl();
   noecho();
   intrflush(stdscr,FALSE);
   keypad(stdscr,TRUE);
   refresh();

...........

  endwin();
   printf("%s",sOut);
  return 0;
}

shell调用是这样的:
frame |read sOut