如何编写使用终端作为GUI的应用程序?(在C中)

shu*_*fan 5 c terminal user-interface

我想编写一个使用*nix OS终端作为GUI的应用程序(在C中).我的意思是应用各种emacs,vi等占用整个终端窗口并在退出后跳回输入提示.
你会怎么做,最好是在C?有人可以指点我的教程吗?